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