Rutas
/var/cache/lxc | Imágenes de sistemas operativos descargados a partir de un template |
/etc/lxc | Configuración general |
/var/lib/lxc/ | Contenedores creados por root |
/var/lib/lxc/NOMBRE_CONTENEDOR/config | Configuración específica del contenedor |
~/.local/share/lxc | Contenedores creados por usuarios sin privilegios |
Instalación
Instalación de los paquetes básicos.
$ sudo aptitude install lxc lxc-templates
De acuerdo al sistema operativo (template) que se desee instalar también será necesario uno de los siguientes paqutes.
ArchLinux | arch-install-scripts |
Debian/Ubuntu | debootstrap |
CentOS | yum |
Una vez instalado probar el ambiente disponible.
$ lxc-checkconfig Kernel configuration not found at /proc/config.gz; searching... Kernel configuration found at /boot/config-3.13.0-37-generic --- Namespaces --- Namespaces: enabled Utsname namespace: enabled Ipc namespace: enabled Pid namespace: enabled User namespace: enabled Network namespace: enabled Multiple /dev/pts instances: enabled --- Control groups --- Cgroup: enabled Cgroup clone_children flag: enabled Cgroup device: enabled Cgroup sched: enabled Cgroup cpu account: enabled Cgroup memory controller: enabled Cgroup cpuset: enabled --- Misc --- Veth pair device: enabled Macvlan: enabled Vlan: enabled File capabilities: enabled Note : Before booting a new kernel, you can check its configuration usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig
Comandos principales
Listar los templates disponibles
$ ls /usr/share/lxc/templates lxc-alpine lxc-archlinux lxc-centos lxc-debian lxc-fedora lxc-openmandriva lxc-oracle lxc-sshd lxc-ubuntu-cloud lxc-altlinux lxc-busybox lxc-cirros lxc-download lxc-gentoo lxc-opensuse lxc-plamo lxc-ubuntu
Crear un contenedor (usuario con privilegios)
$ sudo lxc-create -n NOMBRE_CONTENEDOR -t NOMBRE_TEMPLATE
Para especificar una versión (release) específico del template que se desea instalar. Por ejemplo, si se desea elegir ubuntu lucid específicamente se debe ejecutar el siguiente comando.
$ sudo lxc-create -t ubuntu -n NOMBRE_CONTENEDOR -- -r lucid
Si se desea crear un contenedor de 32 bits en una máquina de 64 bits es necesario agregar el parámetro -a de la sigiuente manera.
$ sudo lxc-create -n NOMBRE_CONTENEDOR -t NOMBRE_TEMPLATE -a i386
Información de los contenedores
$ lxc-ls --fancy
Obtener información ampliada de un contenedor específico
$ lxc-info --name NOMBRE_CONTENEDOR
Iniciar un contenedor
$ lxc-start -n NOMBRE_CONTENEDOR -d
Acceder a la consola de un contenedor
$ lxc-console -n NOMBRE_CONTENEDOR
Para salir de la consola es necesario presionar la secuencia de teclas Ctrl+A Q.
Para acceder al shell del contenedor desde el mismo shell actual, ejecutar el siguiente comando.
$ lxc-attach -n NOMBRE_CONTENEDOR
Suspender (congelar) la ejecución de un contenedor
$ lxc-freeze -n NOMBRE_CONTENEDOR
Reanudar (descongelar) la ejecución de un contenedor
$ lxc-unfreeze -n NOMBRE_CONTENEDOR
Finalizar la ejecución de un contenedor
Realizar una finalización segura (apagado).
$ lxc-shutdown -n NOMBRE_CONTENEDOR
Realizar un apagado abrupto (halar del cable).
$ lxc-stop -n NOMBRE_CONTENEDOR
Destruir un contenedor
Esta acción elimina los archivos asociados con el contenedor.
$ lxc-destroy -n NOMBRE_CONTENEDOR
Recursos
- Linux Containers (LXC) homepage.
https://linuxcontainers.org/lxc/introduction/
One Reply to “Los primeros 10 minutos con LXC en Ubuntu”