Docker workshop

Docker workshop

Óscar García Amor

https://ogarcia.me/

¿Qué es Docker?

Docker workshop

Óscar García Amor

https://ogarcia.me/

Docker es una plataforma que permite empaquetar software en unidades estandarizadas llamadas contenedores que incluyen todo lo necesario para que dicho software se ejecute, incluidas bibliotecas, herramientas de sistema, código y tiempo de ejecución.

Un poco de historia

Docker workshop

Óscar García Amor

https://ogarcia.me/

  • Nace en 2011 de la mano de Solomon Hykes como proyecto interno de dotCloud con las contribuciones iniciales de otros ingenieros como Andrea Luzzardi, Francois-Xavier Bourlet o Jeff Lindsay.
  • En marzo de 2013 se libera como proyecto de código abierto.
  • En octubre de 2013 dotCloud Inc. se transforma en Docker Inc.
  • En 2014 se lanza la versión 0.9 donde deja de utilizar LXC como el entorno de ejecución por defecto reemplazándolo con su propia biblioteca, libcontainer, escrito en Go.
  • Se libera la versión 1.0 en junio de 2014.

Algo mas de historia

Docker workshop

Óscar García Amor

https://ogarcia.me/

  • En octubre de 2014 Microsoft anuncia la integración del motor y soporte nativo para el rol de cliente en Windows.
  • En abril de 2015 el proyecto tenía más de 20.700 estrellas de GitHub (en el top 20), más de 4.700 forks, y casi 900 colaboradores.
  • En junio de 2015 se funda la Open Container Initiative con el patrocinio de la Linux Foundation.
  • En noviembre de 2017 se publica la version 17.11 que cambia el motor a containerd.
  • En noviembre de 2018, con la versión 18.09 el demonio del motor de docker deja de manejar containerd para ser reemplazado por systemd.

Arquitectura

Docker workshop

Óscar García Amor

https://ogarcia.me/

Docker utiliza una arquitectura cliente-servidor donde el cliente de docker se comunica con el demonio de docker a través de una API REST, un socket UNIX o usando una interfaz de red.

Composición

  • Demonio
  • Cliente
  • Registro
  • Objetos
    • Imágenes
    • Contenedores

Contenedor vs. Máquina Virtual

Docker workshop

Óscar García Amor

https://ogarcia.me/

Imágenes y Capas

Docker workshop

Óscar García Amor

https://ogarcia.me/

Descargada imagen base del Hub de Docker: alpine:3.14.2 (5,59MB)

14119a10abf4

  1. Se inicia la imagen base de alpine
  2. Actualización de paquetes
  3. Se almacena como nueva capa (2,19MB)

4704ed6a7e21

b7a8cec8ab99

30f85e49976e

  1. Se inicia la imagen anterior
  2. Se instala nginx 
  3. Se almacena como nueva capa (1,44MB)
  1. Se inicia la imagen anterior
  2. Se cambia la orden de ejecución
  3. Se almacena como nueva capa (0B)

Ventajas y Mitos

Docker workshop

Óscar García Amor

https://ogarcia.me/

  • Es seguro por definición
  • Malgasta espacio (ocupa más)
  • Es mucho mas lento
  • Es un sistema complejo
  • Es código abierto
  • Ejecuta aplicaciones no máquinas
  • Es reutilizable
  • Es reproducible
  • Aisla recursos
  • Esta muuuuy documentado

Ventajas

Mitos

¡Veamos cómo funciona!

Docker workshop

Óscar García Amor

https://ogarcia.me/

¿Preguntas?

Docker workshop

Óscar García Amor

https://ogarcia.me/

¡Gracias!

Docker workshop

Óscar García Amor

https://ogarcia.me/