Crear un contenedor (ConTainer)¶
Como primer paso es necesario descargar imágenes del sistema base de entre las disponibles. Para crear contenedores las imágenes deben haber sido descargadas previamente.
Actualizamos el catálogo de plantillas disponibles:
pveam update
Listamos las plantillas disponibles:
pveam available --section system
...
system debian-11-standard_11.7-1_amd64.tar.zst
system debian-12-standard_12.12-1_amd64.tar.zst
system debian-13-standard_13.1-2_amd64.tar.zst
...
Para cada plantilla que querramos utilizar, la descargamos usando:
pveam download local debian-12-standard_12.1-1_amd64.tar.zst
Estamos listos para crear contenedores usando esa imagen. Se puede listar todas las imágenes locales con:
pveam list local
NAME SIZE
local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst 120.65MB
local:vztmpl/ubuntu-24.10-standard_24.10-1_amd64.tar.zst 136.83MB
Para crear un nuevo contenedor usamos
pct create 101 /var/lib/vz/template/cache/debian-12-standard_12.7-1_amd64.tar.zst --hostname ct-web --storage local-lvm --rootfs local-lvm:8 --cores 1 --memory 1024 --net0 name=eth0,bridge=vmbr0,ip=10.10.20.127 --password lacontraseñasegura --timezone host --features nesting=1
La clave definida en el comando anterior es para el usuario root. Dado que no podremos conectarnos por SSH utilizando ese usuario, arrancamos el contenedor iniciamos una terminal
pct start 101
pct enter 101
A partir de este punto podremos, por ejemplo, agregar usuarios y habilitar el acceso SSH.
Ventajas de usar CT sobre VM¶
Menor uso de RAM y CPU
Arranque extremadamente rápido
Más densidad por nodo
Rendimiento casi nativo
Menor uso de disco
Cuándo usar VM¶
Cuando necesite otro kernel o sistema operativo (Windows)
Altos requisitos de aislamiento
Necesidad de cargar módulos del kernel no presentes en el host