Elija un contenedor Proxmox LXC para el host Docker cuando se puedan exponer de forma segura los nodos de dispositivo Linux, el host controle los controladores necesarios de GPU o USB y sean importantes el bajo consumo de recursos o el uso compartido de GPU. Elija una VM cuando el invitado deba controlar la pila de controladores, se deba aislar un dispositivo PCI mediante IOMMU o Docker y su acceso al hardware deban ser independientes del host Proxmox. Los dispositivos USB serie suelen funcionar con cualquiera de las dos opciones; la asignación directa exclusiva de GPU suele favorecer una VM.
Defina «asignación directa» antes de comparar LXC y una VM
LXC y KVM no asignan hardware a las cargas de trabajo de la misma manera. Un contenedor LXC comparte el kernel de Proxmox, por lo que normalmente recibe permiso para acceder a los nodos de dispositivo creados en el host, como `/dev/dri`, `/dev/ttyUSB0` o `/dev/bus/usb`. El host sigue detectando el hardware y cargando el controlador del kernel.
Una VM ejecuta su propio kernel. Proxmox puede emular un dispositivo USB, conectar un dispositivo USB o puerto seleccionado, o asignar un dispositivo PCI mediante VFIO e IOMMU. El invitado carga entonces su propio controlador y trata el hardware asignado más como un dispositivo instalado directamente.
La guía actual de ZimaSpace sobre configuración de un NAS con Proxmox presenta ambos tipos de invitados. Este artículo se centra en la decisión para un host Docker cuyos contenedores necesitan llaves USB, adaptadores serie, GPU multimedia o aceleradores de cómputo.
| Criterio de decisión | Docker dentro de Proxmox LXC | Docker dentro de una VM |
|---|---|---|
| Kernel | Comparte el kernel del host Proxmox | Ejecuta un kernel invitado independiente |
| Acceso USB | Expone los nodos de dispositivo y permisos del host | Conecta al invitado el dispositivo USB o puerto seleccionado |
| Acceso a la GPU | Suele compartir el controlador cargado en el host y los dispositivos de renderizado | Puede recibir un dispositivo PCI exclusivo mediante VFIO |
| Consumo de recursos | Menor consumo de memoria y almacenamiento | Memoria y almacenamiento adicionales del sistema operativo invitado |
| Aislamiento | Mayor dependencia del host y un límite de kernel compartido | Mayor separación entre controladores y kernel |
| Portabilidad | Depende de dispositivos, controladores, ID y asignaciones compatibles en el host | El estado del controlador invitado acompaña a la VM, pero las asignaciones PCI físicas siguen siendo específicas del host |
| Uso compartido de GPU | Varios contenedores pueden usar el mismo dispositivo de renderizado del host cuando es compatible | La asignación directa de todo el dispositivo normalmente lo dedica a una sola VM |
| Mejor opción | Servicios multimedia, USB serie y GPU Linux compartidas | Aceleradores exclusivos, controladores propietarios, mayor aislamiento y necesidades de sistemas operativos invitados mixtos |
Los dispositivos USB suelen favorecer LXC cuando funcionan como nodos de dispositivo Linux estables
Los adaptadores USB serie, los coordinadores Zigbee, las interfaces de SAI, los aceleradores Coral USB y dispositivos similares pueden funcionar bien en LXC cuando Proxmox expone el nodo de dispositivo y asigna los permisos de propietario correctos. El contenedor de Docker dentro de LXC recibe entonces ese dispositivo desde su entorno anfitrión Linux.
Una explicación práctica del acceso USB dentro de Proxmox LXC muestra el patrón subyacente: no basta con montar el dispositivo, el contenedor también debe tener permiso para acceder a él.
Usa rutas estables como `/dev/serial/by-id` si la aplicación las admite. Los números de bus y las asignaciones de `/dev/ttyUSB0` pueden cambiar después de un reinicio o una reconexión. La opción de LXC se vuelve frágil cuando cada actualización del host exige reparar manualmente cgroups, UID, GID o rutas de dispositivos.
Una máquina virtual es más adecuada cuando la gestión del USB debe ser independiente
Una máquina virtual puede recibir un dispositivo USB por su ID de fabricante y producto o por un puerto físico, y luego cargar el controlador del dispositivo en su propio sistema operativo. Esto resulta útil si el dispositivo necesita un paquete del fabricante, una versión diferente del kernel o una pila de aplicaciones que no deba depender de las bibliotecas del host Proxmox.
La máquina virtual también ofrece un límite de diagnóstico más claro. Si el sistema invitado pierde el dispositivo USB, el administrador puede inspeccionar por separado la conexión en el hipervisor y luego el controlador del sistema invitado. En LXC, el controlador del host, el nodo de dispositivo, los permisos, la asignación del contenedor, el entorno de ejecución de Docker y la aplicación forman parte de una misma cadena.
La contrapartida es el comportamiento al reconectarse. Algunos dispositivos USB se reinician, cambian de identidad o desaparecen al reiniciar el sistema invitado. Prueba a desconectarlos, reiniciar el host y el sistema invitado, y comprobar la recuperación de la aplicación, en lugar de asumir que una primera conexión correcta demuestra un funcionamiento estable.
El acceso compartido a la GPU suele favorecer a LXC
En el caso de los dispositivos de renderizado Intel o AMD y las cargas de trabajo compatibles con NVIDIA, LXC puede exponer los nodos de dispositivo de la GPU del host a varios servicios de Linux. El controlador del host Proxmox sigue gestionando la GPU, lo que permite que varios contenedores usen la transcodificación por hardware o la computación sin asignar todo el dispositivo PCI a un único sistema invitado.
El reciente ejemplo de Proxmox de XDA explica cómo LXC puede compartir la GPU gestionada por el host, en lugar de dedicarla mediante passthrough a una máquina virtual. El mismo modelo operativo puede servir para Jellyfin, Plex, Frigate o varios servicios de Docker cuando coinciden los requisitos de controladores y permisos.
Compartir crea dependencias entre versiones. El controlador del kernel del host, las bibliotecas de espacio de usuario dentro de LXC, la integración del entorno de ejecución de Docker y los paquetes de la aplicación deben seguir siendo compatibles. Por eso, una actualización del kernel o del controlador de Proxmox puede afectar de una vez a todos los contenedores que usan la GPU.
La asignación exclusiva de la GPU suele favorecer a una VM
Una VM es la mejor opción cuando una carga de trabajo necesita tener acceso directo y exclusivo a una GPU discreta, un controlador propietario para el sistema invitado, compatibilidad con Windows, aislamiento de CUDA o una pila de kernel que no debería instalarse en Proxmox. La asignación con VFIO separa el dispositivo del host y se lo presenta al sistema invitado.
El modelo PCI de Proxmox está diseñado para asignar un dispositivo PCI físico a un invitado KVM. Un debate sobre Docker en Level1Techs refleja la consecuencia práctica: normalmente, una VM usa en exclusiva la GPU asignada, mientras que LXC puede compartir el acceso a los dispositivos del host entre servicios.
Esta elección puede cambiar si la GPU admite dispositivos mediados o SR-IOV, pero las GPU de consumo y las plataformas de servidores domésticos no ofrecen una forma universal de compartirlas. Verifica los grupos IOMMU, el comportamiento de restablecimiento, el firmware, la inicialización de la pantalla y si el host necesita esa GPU antes de diseñar el sistema en torno a la asignación exclusiva.
Docker dentro de LXC añade una capa de gestión anidada
LXC ya proporciona aislamiento a nivel del sistema operativo, y Docker añade otro entorno de ejecución de contenedores dentro de él. Esto puede ser eficiente, pero incorpora espacios de nombres anidados, cgroups, controladores de almacenamiento, capacidades y comportamiento de montaje. Algunas funciones de Docker requieren opciones de anidamiento o permisos adicionales en el contenedor de Proxmox.
Una VM ofrece a Docker un host Linux convencional. La documentación de Docker, los módulos del kernel, el comportamiento del firewall y los controladores de almacenamiento son más fáciles de interpretar porque el sistema invitado controla la configuración de su kernel. El costo es un sistema operativo invitado completo, memoria reservada, gestión de discos virtuales y otra capa de parches.
No elijas LXC solo para ahorrar unos cientos de megabytes si la configuración necesaria obliga a usar un contenedor privilegiado, permisos amplios para dispositivos y modificaciones del host no documentadas. La opción ligera pierde valor cuando cada actualización depende de recordar excepciones que la VM mantendría dentro del sistema invitado.
El aislamiento y la seguridad pueden cambiar cuál opción ofrece el mejor rendimiento
LXC comparte el kernel del host, por lo que un contenedor privilegiado mal configurado o una asignación de dispositivos demasiado amplia puede exponer más del nodo de Proxmox de lo previsto. LXC sin privilegios, permisos de dispositivo restringidos, montajes de solo lectura y capacidades mínimas mejoran el aislamiento, pero la arquitectura sigue estando más acoplada que una VM completa.
Una VM proporciona un kernel independiente y puede aislar de Proxmox las pilas de GPU propietarias, las redes de Docker, los módulos de cortafuegos y el software experimental. Esa separación es valiosa cuando el host de Docker ejecuta imágenes de terceros, servicios públicos, paquetes locales de IA o experimentos frecuentes con controladores.
La VM no es segura automáticamente. El passthrough de PCI, los montajes de almacenamiento compartidos, las credenciales de administración y la red puenteada siguen creando vías de ataque y fallos. Elígela cuando el kernel y el límite de controladores independientes realmente simplifiquen el modelo de amenazas y mantenimiento.
Las copias de seguridad y la migración favorecen distintos tipos de simplicidad
Las copias de seguridad de LXC son compactas y rápidas porque el invitado no contiene una pila completa de hardware virtual. Sin embargo, restaurar el acceso al hardware en otro nodo de Proxmox requiere que coincidan los nodos de dispositivo, los grupos, los controladores y los permisos. El sistema de archivos del contenedor puede migrar, pero el contrato del dispositivo físico no.
Una copia de seguridad de una VM incluye el sistema operativo del invitado y la configuración de los controladores, lo que hace que la recuperación de aplicaciones sea más autónoma. Las conexiones USB y las direcciones PCI aún deben reasignarse en el nodo de destino, y una GPU asignada mediante passthrough puede impedir la migración en vivo porque el dispositivo físico está vinculado a un solo nodo.
El flujo de trabajo de copias de seguridad de Proxmox de ZimaSpace protege los invitados. Para esta comparación, la recuperación solo se considera completa cuando Docker se inicia y la aplicación que depende de USB o GPU puede detectar el dispositivo de reemplazo.
Usa una prueba de recuperación de dispositivos antes de elegir el tipo de invitado
- Enumera todos los dispositivos USB y PCI que necesitan las aplicaciones de Docker.
- Decide si cada dispositivo debe compartirse con el host o ser propiedad de un solo invitado.
- Prueba el controlador del host, el nodo de dispositivo, la asignación de UID/GID y los permisos de Docker para LXC.
- Prueba la agrupación de IOMMU, la instalación de controladores en el invitado y el comportamiento de restablecimiento de una VM.
- Reinicia el host de Proxmox y confirma que la conexión del dispositivo se restablece automáticamente.
- Restaura el invitado desde la copia de seguridad y vuelve a crear la asignación de hardware a partir de la documentación.
- Repite la prueba en otro nodo compatible si la migración o la sustitución del hardware son importantes.
Mide el comportamiento de las aplicaciones, no solo la sobrecarga del sistema invitado. La estabilidad de la transcodificación por hardware, la reconexión USB, las actualizaciones de controladores, el mantenimiento del host y el tiempo de recuperación suelen importar más que una pequeña diferencia de CPU entre LXC y KVM.
¿Qué tipo de sistema invitado de Proxmox es adecuado para el host Docker?
Elige LXC cuando
Elige LXC cuando todas las cargas de trabajo estén basadas en Linux, el host pueda gestionar los controladores, los dispositivos USB tengan nodos estables y se deba compartir una GPU entre varios servicios. Mantén el contenedor sin privilegios siempre que sea posible y documenta cada asignación de dispositivos y grupos.
Elige una VM cuando
Elige una VM cuando el host Docker necesite acceso exclusivo a la GPU PCI, controladores propietarios o experimentales, un aislamiento del kernel más sólido o mayor facilidad para trasladar toda la pila de software. Reserva suficiente RAM y almacenamiento para el sistema invitado y prueba el restablecimiento del dispositivo tras reiniciar.
Divide las cargas de trabajo cuando
Ejecuta servicios ligeros de medios y USB en LXC, y coloca las cargas de trabajo de cómputo de GPU exclusivas, las herramientas que requieren Windows o las pilas de Docker no confiables en una VM. Una plataforma compatible con Proxmox puede admitir ambas opciones, pero cada dispositivo físico debe tener un modelo de asignación de propiedad documentado.
Preguntas frecuentes
¿Docker puede ejecutarse de forma fiable dentro de un LXC sin privilegios?
Sí, para muchas cargas de trabajo, pero el anidamiento, los controladores de almacenamiento, los puntos de montaje, la red y el acceso a los dispositivos pueden requerir configuración adicional. Prueba las funciones exactas de Docker y evita cambiar a un contenedor privilegiado solo para eludir un problema de permisos sin explicar.
¿Se puede usar una GPU tanto con LXC como con una VM?
No mediante el passthrough convencional del dispositivo completo con VFIO al mismo tiempo. LXC puede compartir un dispositivo de renderizado gestionado por el host, mientras que una VM normalmente necesita que el dispositivo se desacople del host. La compatibilidad con SR-IOV o dispositivos mediados puede cambiar esto en ciertos equipos.
¿Qué opción es mejor para un coordinador Zigbee USB?
Ambas opciones pueden funcionar. LXC es eficiente cuando la ruta serial por ID y los permisos son fiables. Una VM es más limpia cuando la pila de software del coordinador o el controlador deben ser independientes del host Proxmox.
Veredicto final
Usa LXC para un host Docker cuando se puedan compartir los recursos USB y de GPU mediante la pila de controladores Linux del host Proxmox y sea importante reducir la sobrecarga. Usa una VM cuando el hardware deba pertenecer al sistema invitado, los controladores deban estar aislados o la recuperación deba conservar un sistema operativo autónomo. Elige según quién controla los dispositivos y cómo se restauran, no suponiendo que los contenedores siempre son más sencillos.
Comparaciones de productos
Más para leer

Ripple-65B frente a Qwen3.8-27B para programar en local: ¿cuál se adapta a tu equipo?
Compara las opciones de hardware local y entornos de ejecución para Ripple-65B Preview y Qwen3.8-27B, con un plan de pruebas controlado para cargas de...

LFM2.5-24B-A2B vs DeepSeek API: ¿Cuál se adapta mejor al flujo de trabajo de tu agente en el servidor doméstico?
Compara la inferencia local de LFM2.5-24B-A2B con la API de DeepSeek para agentes de servidores domésticos: límites de privacidad, hardware, mantenimiento, calidad y costos.

Granite Speech 5.0 frente a la transcripción en la nube: comparación de privacidad, hardware y precisión
Compara Granite Speech 5.0 local con la transcripción en la nube en cuanto a privacidad del audio, configuración, hardware, precisión, mantenimiento y flujos de...



