¿Cómo exporto un contenedor lxc?

3

¿Es posible exportar un lxccontenedor a otra máquina? ¿Hay algunas herramientas como lxc-snapy lxc-cloneayudarán a exportar a otro sistema? ¿Puedo copiar y pegar la carpeta rootfs o hay una forma estándar de hacerlo?

Nishant
fuente
1
Pensé que esto es para lo que publishsirve. Luego puede importarlo en otra máquina ...
jsejcksn
No he usado eso. Copiar y pegar simple funciona generalmente con LXC. Resume un sistema operativo como una carpeta, por lo que es tan fácil como copiar y pegar junto con un montón de archivos de configuración.
Nishant
1
linuxcontainers.org/lxd/try-it tiene un tutorial básico sobre publicación e importación, y puede encontrar información sobre el contenido de su corazón en insights.ubuntu.com/2016/04/01/lxd-2-0-image-management- 512
jsejcksn
¡Es un enlace increíble! Lo atravesará. En los días que tuve este problema, no había recursos que pudiera encontrar. Sin embargo, me ayudó a aprender algunas cosas nuevas como chrootingetc. que he proporcionado como una opción alternativa.
Nishant
1
¡LXC / D 2.0 es un gran paso adelante!
jsejcksn

Respuestas:

2

No creo lxc-cloney lxc-snapse supone que se deben usar para mover contenedores a una nueva máquina. La razón de estos comandos , según uno de los desarrolladores de LXC, es:

Uno de los casos de uso obvios de estos clones de instantáneas es apoyar el desarrollo incremental de imágenes rootfs. Realice algunos cambios, instantáneas, realice algunos cambios más, instantáneas, revierta ...

Nunca se menciona una exportación a una máquina diferente ...

Al mismo tiempo, porté con éxito un Debian LXC de una máquina Debian a una máquina Arch Linux, primero creando un contenedor Debian LXC, sin ninguna personalización, luego copiando a la nueva máquina los config, fstab, lxcname.logarchivos y el rootfsdirectorio. Puedes intentarlo, como hice yo, pero ... YMMV.

MariusMatutiae
fuente
¡Increíble! Tuve el mismo pensamiento. Estaba pensando en copiar también los rootfs, pero quería ver si existe una herramienta. Es interesante ver config fstab y lxcname.log en esa lista de archivos para copiar. Seleccionaré esto como la mejor respuesta a menos que alguien sugiera una herramienta que aparentemente no existe atm :)
Nishant
1

Ejecuto lxccontenedores en btrfsvolúmenes para poder capturarlos fácilmente conbtrfs sub snap

Estos se pueden mover a un sistema de btrfsarchivos remoto más rápidamente que con el rsyncuso de:

btrfs send /my/snapshot | ssh [email protected] "btrfs receive /my/destination"

btrfses inteligente con instantáneas y no incluye sistemas de archivos virtuales [ proc run sys]. La transferencia de instantáneas incrementales también es posible.

Al mover instantáneas a un sistema que no sea de btrfs archivos:

  • Monte el destino remoto como un sshfssistema de archivos y cden el soporte
  • Detenga el contenedor y cree un tar.xzarchivo del contenedor
Stuart Cardall
fuente
0

En realidad, solo puede copiar el sistema de archivos y realizar los cambios relevantes como se menciona en la publicación anterior para que todo funcione bien. Inicialmente hice eso y lo hice funcionar.

Siempre tengo problemas con NAT en LXC Containers, por lo que si eres un usuario liviano, también puedes chrootingresar al sistema. Actualmente uso lxc-templatespara crear una copia de mi sistema operativo deseado y luego chrooten ese sistema para hacer mis cosas. No necesito una virtualización en mi caso de uso. La idea es simple (no en términos de implementación) de que se puede portar fácilmente.

Nishant
fuente