Linux Containers
(lxc)
¿cuántos Linux quieres tener?
Rodolfo Pilas
@ysidorito
Federico Wagner
@visigoten
Gabriel (masternet) Icasuriaga
1969 - 2013
1
2
3
Optimizar uso de recursos
● Aprovechar hardware
● Mejorar mantenimiento
● Virtualización
● Disponibilidad
● Flexibilidad
● Actualizaciones
Virtualización completaParavirtualización
“Virtualización" de sistema operativo
cgroups
2
3
Paul MenageRohit Seth
2006
“Process Containers”
2008
Kernel 2.6.24
“Control Groups”
cgroups
Documentation/cgroups/cgroups.txt
kernel/cgroups.c
include/linux/cgroups.h
cgroups
● Limitar recursos
● memoria
● filesystem, etc.
● Priorizar
● CPU, I/O, etc.
● Contabilizar
● Controlar
● checkpoint & restart
1
lxc
3
LXCcgroups + namespaces
Máxima densidad
Process namespaces
Network namespaces
● Bridge
● static
● dynamic
● NAT
● Físico
¿cómo usamos LXC?
1
2
docker
Docker es un motor de código abierto que
automatiza el despliegue de cualquier aplicación
como un contenedor
Desarrollado por:
https://www.dotcloud.com/
http://www.docker.io/
Docker hace que sea fácil de construir, modificar,
publicar, buscar y ejecutar los contenedores
Características principales
● Aislamiento del sistema de archivos
● Aislamiento de recursos (cpu, memory)
● Aislamiento de red
● Copy on Write
● Logging (stdint/stdout/stderr)
● Manejo de cambios
● Shell interactivo
¿Quién usa LXC?
cgroups
lxc
docker
¿cuántos Linux quieres tener?
Rodolfo Pilas
@ysidorito
Federico Wagner
@visigoten

Linux containers