Linux container no es virtualización de sistemas es aislamiento(isolation) de procesos y recursos.
Para ello utiliza dos propiedades del Kernerl del linux namespaces para aislamiento de los procesos y cgroups para aislamiento de los recursos (por ejem. red).
Instalar linux containers
#sudo apt install lxc
Descargar un container
#sudo lxc-create -t download -n <nombre_contaner> -- --dist ubuntu --release xenial --arch amd64
Entrar sin autentificarse en un container
lxc-attach -n <nombre_container>
Utilidades
Listar containers
#lxc-ls --fancy
Iniciar container como daemon
#lxc-start --name <nombre_container> -d
Entrar al container
#lxc-console -n <container name>
Para salir del conainer
press Ctrl-a, release, then press q
Congelar/Descongelar un container
#lxc-freeze -n lxc-unfreeze -n <container name>
Utilidades vàrias
#lxc-info --name <nombre_container> #lxc-stop --name <nombre_container> #lxc-destroy --name <nombre_container> #lxc-destroy --name <nombre_container> #lxc-attahc --name <nombre_container>
Configuración del container
/val/lib/lxc
/val/lib/lxc/<name_conainer>
lxc.network.type #typo de red esto tiene que ver con los namespaces
lxc.network.link
Crear el bridge (vlan) donde más tarde se conectaran los containers
sudo brctl addbr lxc-bridge-nat sudo brctl setfd lxc-bridge-nat 0 sudo ifconfig lxc-bridge-nat 10.0.0.1 netmask 255.255.255.0 promisc up sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Establecer el bridge en el init del sistem
# vimn /etc/rc.local
O configurar a gusto el bridge que crea por defecto
/etc/default/lxc-net
Configurar el autostar
lxc.start.auto = 1 lxc.start.delay = 0 (in seconds) lxc.start.order = 0 (higher means earlier)
Crear un snapshot
#lxc-snapshot -n container_name
Restaurar un snapchot
sudo lxc-snapshot -n container_name -r snap0
Listar snapshots disponibles
lxc-snapshot -n container_name -L
Clonar un container
lxc-copy -n container_name -N new_container_name
Crear un container de una distribucion fdora
sudo lxc-create -n fedora -t fedora