Red de conocimiento informático - Material del sitio web - Cómo crear y administrar contenedores LXC en Ubuntu

Cómo crear y administrar contenedores LXC en Ubuntu

Instalación de LXC en Ubuntu

Para usar LXC en Ubuntu, debe instalar las herramientas del espacio de usuario de LXC como se muestra a continuación.

$ sudo apt-get install lxc

Una vez completada la instalación, ejecute la herramienta lxc-checkconifg para verificar la compatibilidad del kernel de Linux actual con LXC. Si todo funciona bien, el kernel está listo para admitir LXC.

$ lxc-checkconfig

Después de instalar la utilidad LXC, encontrará que la interfaz puente predeterminada de LXC (lxcbr0) se ha creado automáticamente (configurada en /etc/lxc/default.conf ).

Después de crear un contenedor LXC, la interfaz de la ventana se conecta automáticamente al puente, para que el contenedor pueda comunicarse con el mundo exterior.

Creación de contenedores LXC

Para poder crear contenedores LXC para un entorno de destino específico (como Debian Wheezy de 64 bits), necesita una plantilla LXC adecuada. Afortunadamente, las herramientas del espacio de usuario de LXC en Ubuntu vienen con un conjunto de plantillas LXC preparadas previamente. Puede encontrar plantillas LXC disponibles en el directorio /usr/share/lxc/templates.

$ ls /usr/share/lxc/templates

Una plantilla LXC es en realidad solo un script que crea un contenedor para un entorno Linux específico. Al crear un contenedor LXC, debe utilizar una de estas plantillas.

Por ejemplo, para crear un contenedor de Ubuntu, utilice la siguiente línea de comando:

$ sudo lxc-create -n -t ubuntu

De forma predeterminada, Creará una instalación mínima de Ubuntu con el mismo número de versión y arquitectura que su host local, en este caso Saucy Salamander (13.10) de 64 bits.

Si lo deseas, puedes crear cualquier versión del contenedor de Ubuntu, simplemente pasa el parámetro de liberación. Por ejemplo, para crear un contenedor Ubuntu 14.10:

$ sudo lxc-create -n -t ubuntu -- --release utopic

Descargará y verificará todo lo necesario para el destino. Paquete de software de entorno de contenedor. Todo el proceso puede tardar unos minutos o más, según el tipo de contenedor. Así que tenga paciencia.

Después de una serie de descargas y verificaciones de paquetes, finalmente se crea la imagen del contenedor LXC y verá el perfil de inicio de sesión predeterminado disponible para su uso. Los contenedores se almacenan en /var/lib/lxc/lt;container-namegt; y el sistema de archivos raíz se encuentra en /var/lib/lxc/lt;container-namegt;/rootfs.

Todos los paquetes descargados durante el proceso de creación de LXC se almacenan en caché en /var/cache/lxc.lxc, por lo que crear otros contenedores usando la misma plantilla LXC no llevará mucho tiempo.

Ahora mire la lista de contenedores LXC en el host:

$ sudo lxc-ls -fancy

NOMBRE ESTADO IPV4 IPV6 AUTOSTART

---------------------------- --------

test-lxc DETENIDO - - NO

Para iniciar un contenedor, utilice este comando.

La opción -d " inicia el contenedor como un demonio. Si no se utiliza esta opción, el contenedor se conectará directamente a la consola después de iniciar el contenedor.

$ sudo lxc-start -n -d

Después de iniciar el contenedor, vale la pena verificar el estado del contenedor nuevamente:

$ sudo lxc-ls -fancy

NOMBRE ESTADO IPV4 IPV6 AUTOSTART

----- - ----------------------------------

lxc EN EJECUCIÓN 10.0.3.55 - NO

Verá que el contenedor está en estado "EN EJECUCIÓN" y se le ha asignado una dirección IP.

También puede confirmar que la interfaz del contenedor (para. por ejemplo, vethJ06SFL) se conecta automáticamente a LXC

$ brctl show lxcbr0

Administración de contenedores LXC

Ahora que sabemos cómo crear e iniciar contenedores LXC. , así que echemos un vistazo a lo que puede hacer un contenedor en ejecución.

Primero, necesitamos acceder a la consola del contenedor. Para hacer esto, escriba el siguiente comando:

$ sudo. lxc-console -n

Escribe lt; Ctrl una combinación de teclas qgt; para salir de la consola

Para detener y destruir el contenedor:

$ sudo lxc- stop. -n

$ sudo lxc-destroy -n

Para clonar un contenedor existente en otro contenedor, use estos comandos:

$ sudo lxc -stop -n

$ sudo lxc-clone -o -n

Solución de problemas

Si encuentras errores al usar LXC, aquí tienes algunos consejos para solucionar problemas

. p>

1. No puede crear un contenedor LXC con el siguiente error

$ sudo lxc-create -n test-lxc -t ubuntu

lxc-create: búsqueda de símbolos error: /usr/lib/x86_64-linux-gnu/liblxc.so.1: símbolo indefinido. cgmanager_get_pid_cgroup_abs_sync

Esto significa que está ejecutando el último LXC, pero está utilizando el libcgmanager más antiguo. Para resolver este problema, debe actualizar el administrador de libcg.

$ sudo apt-get install libcgmanager0