Docker es un proyecto de código abierto que automatiza el despliegue de
aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux. Se ha convertido en una herramienta muy utilizada dentro de la comunidad de desarrolladores por su gran capacidad de dar al desarrollador la flexibilidad de que sus aplicaciones se ejecuten siempre de la misma manera, sin importar el sistema operativo en el que se estén ejecutando.
2 www.apuntesit.tk @apuntesit Apuntes IT
Contenedores
3 www.apuntesit.tk @apuntesit Apuntes IT
Contenedores
4 www.apuntesit.tk @apuntesit Apuntes IT
¿En qué plataformas se puede usar?
Licencia Apache 2.0, código disponible en GitHub.
Disponible de forma nativa para Linux. Podemos usar contenedores nativos Docker con Kernel Windows en Windows 2016 y Windows 10 aniversary edition. En MacOS se utiliza un entorno que integra fuertemente el MacOS Hypervisor framework, networking y el filesystem. En versiones de Windows anteriores a las mencionadas se utiliza un entorno integrado similar al de “Docker for MacOS”. Se integra en AWS, Azure, Google Cloud, IBM Bluemix, Open Stack, Jenkins, DigitalOcean entre otras.
5 www.apuntesit.tk @apuntesit Apuntes IT
Historia
La tecnología de contenedores forma parte de Linux desde 2008.
Docker es equiparable a proyectos anteriores como Solaris Zones o BSD Jails. Utiliza las interfaces abstraídas de virtualización mediante libvirt, LXC (Linux Containers) y systemd-nspawn. Docker fue liberado como código abierto en marzo de 2013. El 13 de marzo de 2014, libera su versión 0.9, Docker dejó de utilizar LXC como el entorno de ejecución por defecto y lo reemplazó con su propia biblioteca, libcontainer, escrito en Go. A partir mayo de 2015 su principal contribuyente es Red Hat. Colaboran IBM, Google, Cisco Systems y Amadeus IT Group.
6 www.apuntesit.tk @apuntesit Apuntes IT
¿Cómo funciona?
Contenedor 1 Contenedor 2 Contenedor 3
Aplicación 1 Aplicación 2 Aplicación 3
Bins/Libs Bins/Libs Bins/Libs
Docker Engine
Sistema Operativo
Infraestructura
7 www.apuntesit.tk @apuntesit Apuntes IT
Docker vs. Máquinas Virtuales
DOCKER Máquina Virtual
VM 1 VM 2
Cont. 1 Cont. 2 App 1 App 1
App 1 App 2 Vs. Bins/Libs Bins/Libs
SO SO Bins/Libs Bins/Libs Invitado Invitado
Docker Engine Hipervisor
Sistema Operativo Sistema Operativo
Servidor Físico Servidor Físico
8 www.apuntesit.tk @apuntesit Apuntes IT
¡Muchas gracias!
Asunto: ¿Qué es Docker?
Por: Diego G. Calbo Para: Apuntes IT Email: dgcalbo@gmail.com Licencia: Creative Commons (CC BY-NC-SA 2.5 AR) Blog: www.apuntesit.tk Twitter: @ApuntesIT