Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente

Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente

por Raúl Unzué

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 create con --rootfs usando 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"

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 1

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

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 2

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
  • 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:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 3

Pulsamos "Descargar":

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 4

Veremos una nueva plantilla de CT:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 5

Que podemos usar al generar un CT (Contenedor):

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 6

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

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 7

Usaremos la plantilla recién descargada:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 8

Le asignamos disco:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 9

Y CPU:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 10

Así como RAM:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 11

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

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 12

Los datos DNS:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 13

Y al pulsar Finalizar se generará:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 14

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

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 15

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

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 16

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

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 17

Y al tratarse de Grafana, voy a la gestión del contenedor vía navegador web:

http://192.168.2.196:3000/login

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 18

Veréis que es totalmente funcional:

Geeknetic Proxmox 9.1.1 Transforma LXC: Cómo Usar Imágenes Docker (OCI) Directamente 19

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!

Redactor del Artículo: Raúl Unzué

Raúl Unzué

Soy un apasionado de la virtualización con más de 20 años de experiencia, especializado en soluciones como VMware(premio vExpert y vExpert Pro desde 2013), Proxmox e Hyper-V. Durante mi carrera, he ayudado a empresas a optimizar sus infraestructuras TI mientras comparto mis conocimientos como redactor IT. Mi objetivo es traducir lo complejo en algo práctico y accesible, combinando teoría con experiencia real. Si te interesa la virtualización, las herramientas TI o simplemente aprender algo nuevo, espero ayudarte con mis artículos.