Manual de Proxmox VE (4): contenedores LXC, la alternativa ligera
Qué es un contenedor LXC, en qué se diferencia de una VM y de Docker, cómo crear uno sin privilegios en dos minutos y cuándo es mejor no usarlo.
De dónde sale esta guía: en el trabajo administro a diario un clúster de Proxmox VE con almacenamiento Ceph y copias en Proxmox Backup Server. Esta serie es la versión para empezar desde cero en casa, con un solo servidor, y sigue la documentación oficial de Proxmox VE 9.2.
En la parte 3 creamos máquinas virtuales. Ahora toca su hermano pequeño: los contenedores LXC.
Qué es un contenedor LXC
Una máquina virtual simula un ordenador entero, con su propio núcleo (kernel) y su propio sistema. Un contenedor LXC, en cambio, es un Linux que comparte el núcleo del anfitrión (Proxmox), pero con su propio sistema de archivos, usuarios, procesos y red.
| Máquina virtual | Contenedor LXC | |
|---|---|---|
| Sistema operativo | Cualquiera (Linux, Windows…) | Solo Linux |
| Arranque | Decenas de segundos | Un par de segundos |
| Memoria | Lo que le asignes, y el sistema entero | Muy poca |
| Aislamiento | Máximo | Bueno, pero comparte núcleo |
Para un servicio Linux sencillo (un servidor web, una base de datos de pruebas, un DNS…), un LXC es perfecto.
¿Y Docker?
Docker también usa contenedores, pero con otra filosofía: un contenedor por aplicación, efímero, creado desde una imagen. Un LXC es más bien un Linux completo que mantienes como un servidor pequeño: actualizas paquetes, entras por SSH, etc.
Paso 1: descargar una plantilla
Los contenedores se crean a partir de plantillas (sistemas base listos):
- Almacenamiento
local→ CT Templates → Templates. - Elige, por ejemplo, Debian 13 o Ubuntu y pulsa Download.
Paso 2: crear el contenedor
Botón Create CT:
- General:
- CT ID y Hostname.
- Unprivileged container: déjalo marcado (lo explico abajo).
- Password de root y, mejor aún, tu clave SSH pública.
- Template: la que descargaste.
- Disks: 8 GB suelen bastar para un servicio pequeño.
- CPU: 1 núcleo.
- Memory: 512 MB; sube si el servicio lo pide.
- Network: puente
vmbr0, y DHCP o una IP fija (mejor fija para servicios). - DNS: el del anfitrión.
Finish, Start, y en un par de segundos está en marcha.
Para entrar desde la consola del anfitrión:
pct enter 105
(con el número de tu contenedor). O desde la web: Console.
Lo primero dentro, como en cualquier Debian:
apt update && apt full-upgrade
Sin privilegios: por qué importa
En un contenedor sin privilegios, el usuario root de dentro no es root en el anfitrión: Proxmox lo mapea a un usuario normal sin permisos especiales. Si alguien comprometiera el contenedor, tendría muchas más dificultades para dañar Proxmox.
Los contenedores con privilegios existen para casos muy concretos (ciertos montajes de red o de hardware), pero para empezar, siempre sin privilegios.
Compartir una carpeta del anfitrión
Si quieres que el contenedor acceda a una carpeta de Proxmox (por ejemplo, un disco de datos), se usa un punto de montaje:
pct set 105 -mp0 /mnt/datos,mp=/datos
Dentro del contenedor aparecerá como /datos. En contenedores sin privilegios, ojo con los permisos: los usuarios de dentro tienen otros números en el anfitrión, así que a veces hay que ajustar propietarios.
Cuándo NO usar un LXC
- Si necesitas Windows u otro sistema que no sea Linux: VM.
- Si necesitas un núcleo distinto o módulos de kernel propios: VM.
- Para Docker: se puede ejecutar dentro de un LXC activando opciones como
nesting, pero Proxmox recomienda ejecutar Docker dentro de una máquina virtual. Da menos problemas con actualizaciones y aislamiento. En el trabajo tengo algunos contenedores Docker dentro de un LXC y funcionan bien, pero para algo nuevo empezaría por una VM. - Si el aislamiento es crítico (algo expuesto a Internet): una VM separa mejor.
Mi regla para el laboratorio
- Servicio Linux sencillo y de confianza → LXC.
- Windows, Docker, o algo delicado → VM.
En la parte 5, la más importante: copias de seguridad e instantáneas, y por qué no son lo mismo.
¿Te has quedado con la idea?
Tres preguntas rápidas. Cada acierto suma 10 XP.