La Convergencia Definitiva: Docker + Proxmox
Si eres usuario de Proxmox VE, sabes que la versión 9.1.1 ha traído una de las funcionalidades más esperadas de la década, el soporte nativo para imágenes OCI (Open Container Initiative) en contenedores LXC.
La comunidad lo pedía a gritos y por fin Proxmox VE en su versión 9.1.1 ha respondido. Aunque existen proyectos que permitían acercarse a esta integración, ahora la integración es oficial, lo que puede ayudar a todas esas empresas que tienen una subscripción de pago con soporte.
Se acabó el depender de plantillas .tar.gz desactualizadas o buscar imágenes de "TurnKey Linux". Ahora Proxmox habla el mismo idioma que Docker Hub.
¿Qué significa esto? Que ahora puedes alimentar tus contenedores LXC directamente con imágenes sacadas de Docker Hub, GitHub Container Registry (ghcr.io), o cualquier registro compatible, sin intermediarios. Es la fusión perfecta entre la ligereza de un contenedor y la inmensidad del ecosistema Docker.
La Novedad: Imágenes OCI Nativas en LXC
Proxmox 9.1.1 rompe la barrera entre virtualización y contenerización.
¿Cómo funciona?
El backend de almacenamiento de Proxmox ahora puede interpretar los manifiestos OCI. Esto significa que descarga las capas (layers) de un registro como Docker Hub o GitHub Container Registry (ghcr.io), las "aplana" y crea un sistema de archivos raíz (rootfs) para tu LXC.
- Antes: Necesitabas un archivo de un sistema operativo completo.
- Ahora: Proxmox no convierte automáticamente una imagen Docker en un template LXC, porque Docker usa cgroups + namespaces + overlayfs y LXC usa un rootfs directo. Pero sí puedes importar imágenes OCI mediante la herramienta integrada
pct createcon--rootfsusando OCI layouts o descargando la imagen y transformándola.- El backend de almacenamiento de Proxmox puede interpretar los manifiestos OCI. Al solicitar una imagen (ej. alpine:latest), el sistema descarga las distintas capas (layers), las combina y las "aplana" en un sistema de archivos raíz (rootfs) que LXC puede arrancar con su propio init (systemd, openrc, etc.).
- Nota Técnica: A diferencia de un contenedor Docker efímero, estos siguen siendo contenedores de sistema (System Containers). Persisten datos, tienen múltiples procesos y se comportan como una VM ligera.
- El Comando Mágico: Olvídate de descargar plantillas manualmente. Ahora puedes usar la CLI para crear un contenedor directamente desde la nube:
- pct create "vmid" "storage":oci:"image_reference" [opciones]
- Ejemplo práctico:
pct create 200 local-lvm:oci:docker.io/library/alpine:edge \
--hostname docker-lxc \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--ostype alpine \
--unprivileged 1 \
--features nesting=1,keyctl=1
Crear Contenedor con OCI Registry vía Gráfica
La GUI o Interfaz gráfica de Proxmox no importa directamente imágenes Docker, pero puedes crear el contenedor desde el rootfs OCI generado por CLI.
Para ello vamos al "Almacenamiento" donde tenemos las templates "-> Plantillas de CT -> Pull from OCI Registry"

A continuación, deberemos rellenar los campos "Reference, Etiqueta y Nombre del Archivo":

Os explico cada campo, aunque usaremos de ejemplo, Grafana:
- REFERENCE: docker.io/"usuario"/"imagen"
- Os dejo varias de ejemplo:
- GRAFANA: docker.io/grafana/grafana-oss
- NGINX: docker.io/library/nginx
- MYSQL: docker.io/library/mysql
- REDIS: docker.io/bitnami/redis
- ALPINE: docker.io/library/alpine
- DEBIAN: docker.io/library/debian
- UBUNTU: docker.io/library/ubuntu
- Os dejo varias de ejemplo:
- ETIQUETA: Es la versión de contenedor, podemos poner "latest", "stable" o una versión concreta "22.04" / "lts"
- NOMBRE DEL ARCHIVO: Es como quieres que se guarde la plantilla en "/template/cache". Puede tener extensión "tar.gz" o "tar" indistintamente.
Os dejo el ejemplo para Grafana:

Pulsamos "Descargar":

Veremos una nueva plantilla de CT:

Que podemos usar al generar un CT (Contenedor):

La configuración es prácticamente igual que crear un contenedor LXC, le daremos nombre y contraseña o llaves públicas de SSH:

Usaremos la plantilla recién descargada:

Le asignamos disco:

Y CPU:

Así como RAM:

Podemos configurar la interfaz de red o la asignación de IP:

Los datos DNS:

Y al pulsar Finalizar se generará:

En el proceso ya nos dice que ha detectado un archivo OCI:

El contenedor arranca con una alerta de "Application container detected - console might not be fully functional":

En mi caso veo que ya tiene asignada una IP por DHCP:

Y al tratarse de Grafana, voy a la gestión del contenedor vía navegador web:
http://192.168.2.196:3000/login

Veréis que es totalmente funcional:

Futuro Híbrido en Proxmox
La actualización 9.1.1 de Proxmox elimina una de las barreras de entrada más grandes para el uso de LXC, la disponibilidad de plantillas actualizadas.
Al abrir la puerta a los registros OCI, Proxmox no solo se moderniza, sino que le da a los administradores de sistemas una navaja suiza para desplegar servicios en segundos usando estándares industriales. Ya no dependes de que el equipo de Proxmox actualice sus plantillas, si está en Docker Hub, está en tu Proxmox.
Se abre un mundo de posibilidades, aunque aún le queda un mundo por recorrer y evolucionar...
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!



