Los contenedores son útiles por muchas razones. Aísla las aplicaciones del resto del sistema. Son portátiles y fáciles de clonar y/o portar a otros sistemas operativos. En el caso de Linux , funcionan de la misma manera en cualquier distribución, sin modificaciones necesarias. Si necesita transportar un contenedor desde RedHat para Ubuntu Debería ser solo un simple proceso de copia.
Docker Es una solución común diseñada para contener una sola aplicación: por ejemplo, un servidor base de datos mysql. Parecido LXD De alguna manera, pero está diseñado para contener un sistema operativo completo. Esto lo hace útil para algunos escenarios. Por ejemplo, puedes Crear contenedor LXD e instale un servidor de base de datos y un servidor http. entonces puedes Crear un sitio de WordPress interno. Ahora puede cambiar de nube a nube simplemente moviendo este contenedor LXD cuando sea necesario cuando no esté satisfecho con su proveedor anterior. Dado que es fácil clonar un contenedor, incluso puede descargar Su página web a múltiples proveedores de servicios en la nube para crear una configuración redundante y de alta disponibilidad.

LXD no funciona en máquinas virtuales como QEMU أو VirtualBox , lo que significa que es muy rápido y proporciona una velocidad de ejecución casi local.
Enlaces rápidos
Instalar y configurar LXD
Abra Terminal e instale LXD, así como las utilidades ZFS, que lo ayudarán a acelerar algunos procesos y ahorrar espacio en disco cuando trabaje con contenedores.
sudo apt install zfsutils-linux lxd

Inicie la configuración de LXD.
sudo lxd init
Pulse ENTER para seleccionar los valores predeterminados.
Para el tamaño en GB del nuevo dispositivo de bucle (mínimo 1 GB) [predeterminado = 15 GB], puede elegir otro valor, como "50 GB" si sabe que creará muchos contenedores.

Encontrar y ejecutar una imagen LXD
Para enumerar todas las imágenes de Ubuntu:
Lista de imágenes lxc de Ubuntu: arch=amd64

Habrá muchos resultados. Tu puedes elegir omitir arco = amd64 Si necesita imágenes para otras plataformas, como procesadores ARM (los dispositivos Raspberry Pi usan esta arquitectura).
En la imagen anterior, se limitaron los resultados (con |head) para facilitar la lectura. Se muestra la huella digital Ubuntu 18.04 (84a71299044b). Si desea ejecutar un contenedor con esta distribución, el comando sería:
lanzamiento de ubuntu de lxc: 84a71299044b
Por el momento esto regresará con un error de permiso denegado. Debes estar en el grupo "lxd". Su usuario ya ha sido agregado a este grupo, pero para activarlo, debe cerrar sesión y volver a iniciar sesión. Si desea evitar esto, use este comando, reemplazando "usuario" con su nombre de usuario:
exec su - usuario

Ahora, los comandos lxc funcionan sin necesidad de sudo.
Ejecución de contenedores LXD con distribuciones que no son de Ubuntu
Este comando le mostrará las otras distribuciones disponibles:
Lista de imágenes lxc: arch=amd64
Para iniciar una imagen, en lugar de una huella digital, también puede usar un alias si ve uno disponible en esa lista.
Imágenes de lanzamiento de lxc:debian/9

Si agrega una cadena al final, puede elegir un nombre para su contenedor:
Imágenes de lanzamiento de lxc: sitio de wordpress de Debian/9
Gestión de contenedores LXD
Para enumerar todos los contenedores:
lista lxc

es una columna"IPV4Especialmente importante si tiene algún servicio ejecutándose en este caso. Por ejemplo, si un servidor apachehttp ejecutándose en la instancia, la entrada "10.234.232.246En el navegador mostrará el sitio web alojado en el contenedor.
Para detener el contenedor:
lxc parada nombre_del_contenedor
Esto puede llevar mucho tiempo (o fallar) con las distribuciones que no son de Ubuntu. Será mejor que consigas un envoltorio para el contenedor, y cuando entres, entra apagado del sistema para apagarlo.
Si todo lo demás falla, puede forzar una parada con:
lxc detener nombre_del_contenedor --force
Para iniciarlo:
lxc inicio nombre_del_contenedor
Para navegar dentro de su contenedor:
lxc shell nombre_del_contenedor

Puede instalar software con “sudo apt instalarY haga cualquier otra cosa que haría en una distribución normal de Linux, por ejemplo, configurar un servidor APACHE. Cuando desee salir del contenedor, simplemente escriba:
salida
Transferir archivos a/desde contenedores LXD
Para subir un archivo a su contenedor:
lxc file push /ruta/al/archivo/local nombre_del_contenedor/ruta/al/archivo/cargado
Incluya el nombre del archivo que se creará, no solo el directorio donde desea montarlo. Aquí hay un ejemplo:
Archivo lxc push lxd-apt-install.png accurate-colt/var/www/website/upload.png
Para cargar un directorio en lugar de un archivo:
lxc file push /ruta/al/directorio/local nombre_del_contenedor/ruta/al/directorio/remoto --recursive --verbose
Por ejemplo:
archivo lxc push /bin accurate-colt/tmp --recursive --verbose
Para descargar un directorio desde su contenedor a su sistema operativo principal:
lxc archivo pull nombre_del_contenedor/ruta/al/directorio/remoto /ruta/al/directorio/local --recursive --verbose
Por ejemplo:
Extracción de archivo lxc accurate-colt/tmp /tmp --recursive --verbose
Conclusión
esto cubre Uso principal de contenedores LXD. Hay funciones más avanzadas, como instantáneas y devolución, restricciones de recursos como UPC وRAM , clonación de contenedores, etc. Puede tratarse en un tutorial futuro si notamos que los lectores están interesados en el tema.










