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
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
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
18. Cómo configurar y usar LVM en Ubuntu Server: guía completa – SysOSX: AI & Cloud
Índice
¿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ía | Comando | Descripción |
|---|---|---|
| Inicialización | lxd init | Inicializa LXD antes del primer uso. |
| Crear instancias | lxc init <image> <name> | Crea un contenedor sin iniciarlo. |
lxc launch <image> <name> | Crea e inicia un contenedor. | |
lxc launch <image> <name> --vm | Crea e inicia una máquina virtual. | |
| Gestionar instancias | lxc list | Enumera 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 instancias | lxc exec <instance> -- <command> | Ejecuta un comando dentro de una instancia. |
lxc exec <instance> -- bash | Obtiene acceso a la shell de una instancia. | |
lxc console <instance> | Obtiene acceso a la consola de una instancia. | |
| Gestión de archivos | lxc 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. | |
| Proyectos | lxc 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.