21. Primeros pasos con LXD: instala contenedores con facilidad + hoja de referencia

Primeros pasos con LXD abren la puerta a una gestión eficiente y ligera de contenedores y máquinas virtuales en Linux. LXD es un potente gestor de contenedores de sistema y máquinas virtuales que simplifica la implementación y la gestión de contenedores Linux, lo que lo convierte en una solución ideal para alojar aplicaciones web, entornos de prueba e implementar microservicios. Tiende un puente entre la virtualización tradicional y la contenerización, y ofrece flexibilidad y rendimiento para las necesidades de infraestructura modernas.

En este artículo, te guiaremos a través de una demostración paso a paso para instalar y gestionar un contenedor con LXD en un escenario práctico. Además, te proporcionaremos una hoja de referencia resumida en formato de tabla para ayudarte a consultar rápidamente los comandos esenciales de LXD, de modo que tengas las herramientas que necesitas para optimizar tus flujos de trabajo de gestión de contenedores.


Artículos anteriores:

01. Introducción a Ubuntu Server – SysOSX: AI & Cloud

02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud

03.Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gestión de usuarios y permisos en Ubuntu Server: guía completa – SysOSX: AI & Cloud

05. Fundamentos de redes para Ubuntu Server: guía completa – SysOSX: AI & Cloud

06. Instalación y gestión de software en Ubuntu Server: guía completa – SysOSX: AI & Cloud

07.Parcheo y actualización de Ubuntu Server: guía completa – SysOSX: AI & Cloud

08. Proteger tu servidor Ubuntu: pasos prácticos para reforzar y proteger – SysOSX: AI & Cloud

09. Auditoría y registro de Ubuntu Server

10. Herramientas de monitorización del sistema para Ubuntu Server: guía completa – SysOSX: AI & Cloud

11. Registro centralizado para Ubuntu Server: una guía imprescindible – SysOSX: AI & Cloud

12. Auditoría y cumplimiento para Ubuntu Server: prácticas recomendadas – SysOSX: AI & Cloud

13.Configuración de tu servidor Ubuntu para alojamiento y aplicaciones web: guía definitiva – SysOSX: AI & Cloud

14. Alojar varios sitios web en un solo servidor Ubuntu: consejos útiles – SysOSX: AI & Cloud

15. Gestión de almacenamiento y discos en Ubuntu Server: guía sencilla – SysOSX: AI & Cloud

16. Configuración de servicios de uso compartido de archivos en Ubuntu Server: guía completa – SysOSX: AI & Cloud

17. Configuración de un servidor de bases de datos seguro en Ubuntu: MySQL frente a MariaDB – SysOSX: AI & Cloud

18. Cómo configurar y usar LVM en Ubuntu Server: guía completa – SysOSX: AI & Cloud

19. Introducción a la virtualización con KVM: guía para principiantes de Ubuntu Server – SysOSX: AI & Cloud

20. Cómo instalar Docker en Ubuntu Server: guía paso a paso sobre la contenerización – SysOSX: AI & Cloud



¿Qué es LXD?

LXD es una herramienta de gestión de contenedores de código abierto construida sobre Linux Containers (LXC). Ofrece contenedores de sistema que se comportan como máquinas virtuales, pero son más rápidos y ligeros. Con LXD, puedes:

  • Ejecutar distribuciones completas de Linux dentro de contenedores.
  • Usar funciones avanzadas de red y almacenamiento.
  • Gestionar contenedores de forma remota mediante la API REST.
  • Migrar contenedores entre hosts con un tiempo de inactividad mínimo.

Instalar LXD con Snap

La forma recomendada de instalar LXD en sistemas Ubuntu modernos es mediante Snap. Sigue estos pasos:

1. Instalar Snapd

Asegúrate de que Snap esté instalado en tu sistema. Si Snap no está instalado, ejecuta:

sudo apt update
sudo apt install snapd

2. Instalar LXD

Instala LXD con Snap:

sudo snap install lxd

3. Verificar la instalación

Comprueba la versión instalada de LXD:

lxd --version


Demostración: usar LXD para instalar un contenedor

Veamos un escenario común en el que usamos LXD para crear y gestionar un contenedor que ejecuta Ubuntu 22.04.

Paso 1: Inicializar LXD

Ejecuta el siguiente comando para inicializar LXD:

sudo lxd init

Se te pedirá que configures el almacenamiento, la red y otros ajustes. Para simplificar, puedes elegir las opciones predeterminadas.

Paso 2: Lanzar un contenedor de Ubuntu

Crea e inicia un contenedor que ejecuta Ubuntu 22.04 con el comando:

lxc launch ubuntu:22.04 web-server

Este comando crea un contenedor llamado web-server usando la imagen de Ubuntu 22.04.

Paso 3: Acceder al contenedor

Obtén acceso a la shell del contenedor:

lxc exec web-server -- bash

Ahora estás dentro del contenedor y puedes instalar paquetes o configurar servicios. Por ejemplo, instala Apache:

apt update
apt install apache2 -y

Inicia el servicio de Apache:

systemctl start apache2

Paso 4: Verificar la red del contenedor

Sal del contenedor y comprueba su dirección IP:

lxc list

Accede al servidor web del contenedor visitando su dirección IP en un navegador o usando curl http://ip para comprobar la conectividad.

Paso 5: Detener y eliminar el contenedor

Cuando ya no necesites el contenedor, detenlo:

lxc stop web-server

Elimina el contenedor:

lxc delete web-server


Hoja de referencia de la línea de comandos de LXD

A continuación, una hoja de referencia resumida de los comandos de LXD más usados:

CategoríaComandoDescripción
Inicializaciónlxd initInicializa LXD antes del primer uso.
Crear instanciaslxc init <image> <name>Crea un contenedor sin iniciarlo.
lxc launch <image> <name>Crea e inicia un contenedor.
lxc launch <image> <name> --vmCrea e inicia una máquina virtual.
Gestionar instanciaslxc listEnumera todas las instancias.
lxc info <instance>Muestra información sobre una instancia.
lxc start <instance>Inicia una instancia.
lxc stop <instance> [--force]Detiene una instancia.
`lxc delete <instance> [–force–interactive]`
Acceder a instanciaslxc exec <instance> -- <command>Ejecuta un comando dentro de una instancia.
lxc exec <instance> -- bashObtiene acceso a la shell de una instancia.
lxc console <instance>Obtiene acceso a la consola de una instancia.
Gestión de archivoslxc file pull <instance>/<path> <local_path>Extrae un archivo de una instancia.
lxc file push <local_path> <instance>/<path>Envía un archivo a una instancia.
Proyectoslxc project create <project>Crea un proyecto.
lxc project set <project> <option>Configura un proyecto.
lxc project switch <project>Cambia a un proyecto.

Documento oficial:
Primeros pasos con LXD


Conclusión

LXD simplifica la gestión de contenedores, lo que lo convierte en una excelente opción para desarrolladores, administradores de sistemas e ingenieros de DevOps. Con su rendimiento ligero y sus capacidades similares a las de una VM, LXD es ideal para alojar aplicaciones, entornos de prueba y mucho más.

En este artículo, demostramos cómo usar LXD para instalar y gestionar un contenedor en un escenario común. Además, la hoja de referencia proporciona una consulta rápida de los comandos esenciales de LXD.

Próximo tema:
En el próximo artículo hablaremos sobre cómo usar Podman en Ubuntu Server. No te lo pierdas.

Deja un comentario