Presentación utilizada en el primer Docker Meetup de Panamá. Es una presentación introductoria del concepto de contenedores y un explicación técnica inicial de Docker.
los contenedores de transporte intermodal. Un contenedor estándar es cargado con cualquier bien, y se manBene sellado hasta llegar a su desBno. Se puede cargar, descargar, apilar y transportar eficientemente en largas distancias y transferido de un medio de transporte a otro.
de resolver esto: parBciones, dominios, zonificación, máquinas virtuales, entre otros. Es un motor que encapsula carga de trabajo en contenedores ligeros, portables, flexibles y auto-‐suficientes. Pueden ser manipulados usando operaciones estándar y se ejecuta consistentemente en cualquier plataforma de hardware.
Docker es un motor de código abierto que automaBza el despliegue de cualquier aplicación como un contenedor ligero, portable y auto-‐suficiente que se ejecutará virtualmente en cualquier lugar.
de ejecución portable, seguro, limpio de tu aplicación. Sin preocupación por dependencias faltantes, paquetes y otros puntos de dolor. Cada aplicación se ejecuta en su contenedor aislado, permiBendo múlBples entornos. AutomaBzación de pruebas, integración y empaquetado usando scripts. Elimina la preocupación de compaBbilidad entre plataformas.
Hace el ciclo de vida completo más eficiente, consistente y repeBble. Incrementar la calidad del código producido por los desarrolladores. Eliminar inconsistencias entre los ambientes. Soportar la segregación de funciones. Mejorar la velocidad y confiabilidad del despliegue conBnuo. Asociar los problemas comunes de las máquinas virtuales.
se ejecutan en contenedores. Para crear un contenedor necesitamos una imagen y un comando a ejecutar. $ docker run fedora:20 /bin/ echo 'Hello world' Hello world Imágenes Son estados guardados de los contenedores. Para crear una imagen se entregan cambios hechos en un contenedor. $ docker commit -m ”Agregamos el foo.txt" e25605a6d745 potty/foobar
son necesarios para construir imágenes de Docker. FROM fedora MAINTAINER http://fedoraproject.org/wiki/Cloud RUN yum -y update && yum clean all RUN yum -y install python-pip && yum clean all ADD . /src RUN cd /src; pip install -r requirements.txt EXPOSE 8080 CMD ["python", "/src/index.py"]
lo que está dentro del contenedor: código, librerías, gestor de paquetes, aplicaciones y datos. Todos los servidores en Linux se ven igual y funcionan de una manera similar. Se preocupa por lo que está fuera del contenedor: bitácoras, acceso remoto, monitorización y gesBón de redes. Los contenedores trabajan de la misma forma: inician, terminan, copian, agregan, migran. Infraestructura
ProducBvidad del desarrollador Consolidación de servidores MulB-‐organización Administración de línea de código Aislamiento de la aplicación Capacidades de depuración Despliegue rápido
’Docker Panama Meetup' Docker Panama Meetup Probemos un mensaje que diga ‘Docker Panama Meetup’: $ docker run -t -i fedora:22 /bin/bash root@ac7abd37bdd4:/# root@ac7abd37bdd4:/# pwd / root@ac7abd37bdd4:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var Ahora uBlicemos una consola interacBva:
/bin/sh -c "while true; do echo Panama; sleep 1; done" 1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1e5535038e28 fedora:22 /bin/sh -c 'while tr 2 minutes ago Up 1 minute meetup_panama $ docker logs meetup_panama hello world . . . En este tutorial ejecutaremos un demonio: