Qué es LXC y en qué se diferencia de Docker y de una VM

Publicado el 2026-09-12 por frfrand

Contenedores de sistema en vez de contenedores de aplicación. Qué significa eso en la práctica, por qué muchos proveedores de VPS lo usan, y cómo saber en cuál de los dos estás.

Qué es LXC y en qué se diferencia de Docker y de una VM

LXC y Docker usan exactamente las mismas funciones del kernel de Linux: namespaces para aislar y cgroups para limitar recursos. La diferencia no está abajo, está en qué se propusieron hacer con eso.

Contenedor de sistema vs contenedor de aplicación

LXC crea un contenedor de sistema. Adentro hay algo que se comporta como una máquina Linux completa: un proceso de inicio, servicios, varios usuarios, logs, tareas programadas. Entrás por SSH y trabajás como en cualquier servidor.

Docker crea un contenedor de aplicación. Adentro corre idealmente un solo proceso: tu servidor web, tu base de datos, tu trabajador. No tiene init, no tiene usuarios, y no está pensado para vivir adentro.

Esa diferencia de propósito explica todas las demás.

Qué implica en la práctica

El ciclo de vida. Un contenedor LXC es una mascota: se crea, se actualiza, se mantiene durante meses. Un contenedor Docker es ganado: se destruye y se recrea desde la imagen cada vez que hay un cambio.

El estado. En LXC, el estado adentro es normal y esperable. En Docker, todo lo que tenga que sobrevivir va en un volumen, porque el contenedor se descarta.

La imagen. Docker construye imágenes inmutables a partir de un archivo de receta, versionadas y distribuibles. LXC parte de una plantilla de distribución y después la configurás como a cualquier máquina.

Por qué esto te afecta aunque no uses LXC

Porque muchos VPS baratos son contenedores LXC, no máquinas virtuales. Y eso tiene consecuencias que conviene conocer antes de elegir:

  • Compartís el kernel del anfitrión. No podés cargar módulos, no podés usar una versión distinta del kernel, y algunas herramientas que necesitan acceso profundo no funcionan.
  • El aislamiento es menor que con una máquina virtual, porque el kernel es uno solo.
  • A cambio, suele ser más barato y arranca más rápido.

Cómo saber en cuál estás:

systemd-detect-virt

Devuelve "kvm" si estás en una máquina virtual, "lxc" si estás en un contenedor de ese tipo, "none" si es hierro dedicado.

Ese comando vale la pena correrlo en cualquier servidor nuevo, porque cambia lo que podés hacer y lo que podés esperar.

Cuándo elegir cada cosa

LXC (o su sucesor Incus) tiene sentido cuando querés muchos entornos tipo máquina en un mismo servidor físico, con densidad alta y sin la sobrecarga de un sistema operativo completo por cada uno. Es una opción frecuente en laboratorios y en infraestructura propia.

Docker tiene sentido para desplegar aplicaciones: la imagen trae las versiones exactas de todo, lo que probaste es literalmente lo que corre, y el ecosistema de herramientas alrededor es enorme.

Una máquina virtual tiene sentido cuando el aislamiento importa de verdad: clientes distintos, cargas en las que no confiás, o necesidad de un kernel propio.

En ArduMaker cada cliente tiene su VPS con kernel propio, precisamente por la tercera razón. Y adentro puede instalar Docker desde el panel para sus aplicaciones, que es la combinación que mejor funciona: aislamiento fuerte afuera, contenedores adentro.

  • LXC
  • contenedores
  • Linux
  • virtualización
  • aislamiento

En ArduMaker

  • Docker: Activás Docker en un clic y administrás imágenes, contenedores, logs, volúmenes y redes desde el panel.

Seguir leyendo

Todos los artículos · Planes de VPS