Contribuyentes • 40K+ Estrellas en GitHub • 200K+ App Dockerizadas • 240 Meetups en más de 70 países • 95K Miembros de Meetup ¿Qué es Docker? Comunidad Docker Docker Inc Proveedor de contenedores como un servicio • Plataforma de Integración para desarrolladores y operaciones • Soporte técnico Patrocinador del proyecto Docker • Principal patrocinador del proyecto Docker • Apoya a mantenedores del proyecto
Docker Docker Container Es una unidad estándar en la cual reside el servicio de una aplicación Docker Engine Crea, encapsula y ejecuta los containers Docker que se pueden usar en el entorno físico o virtual, en los datacenters o cloud services. Docker Registry És un proyecto para compartir imágenes Docker. El más famoso es https://hub.docker.com/
desastre Computador del desarrollador Cluster de servidores Data Center Sítio estático Web Front End Procesamiento por lotes Usuarios de base de datos Análise de base de datos Filas API Endpoint Development Test & QA Production Scale Out
de software aislados unos de otros • Container como formato patrón • Fácil portabilidad entre entornos (GNU/Linux) • Permite la estandarización del proceso de desarrollo Solución: Containers Docker 10 Container
entorno de desarrollo portable, seguro y limpio para su aplicación • No te preocupes con paquetes perdidos, dependencias y otros dolores durante implantaciones adelante. Se ejecutó una vez, va ejecutar siempre • Ejecute cada aplicación aislada en su container, asi puedes ejecutar varias versiones de librerías y otras dependências para aplicaciones sin problemas. • Pruebas automatizadas, integración, packaging, todo que puedes hacer usando un script. • Reduce/Elimina preocupaciones con plataformas GNU/Linux distintas • Barato y sin penalidad de performance para usar en sus ambientes. Reinicio inmediato de todo entorno con la velocidad de inicio del servicio. Ese és el poder de Docker. Vista del desarrollador
• Hace el ciclo de vida completo ser más eficiente, consistente e replicable • Aumenta la calidad del código producido por los desarrolladores • Elimina la inconsistência entre desarrollo, pruebas, producción y entornos del cliente • Mejoras significativas con velocidad y confianza del continuous deployment (CD) e continuous integration (CI). • Container son más livianos, impactan significativamente en problemas de performance, custo, implantación y portabilidad que normalmente son asociados a VMs.
Descargar imagen docker images Listar las imágenes locales docker inspect <id imagem ou container> Inspeccionar informaciones docker run <nome da imagem> Iniciar un container docker ps Listas los containers en ejecución docker exec <nome do container> <cmd> Ejecutar comandos en container
background --name Dar nombre para el container -m Limitar uso de memória RAM -c Balancear uso de CPU -p Port mapping -v Volume mapping -i Modo interactivo -t Usar terminal
/root del container python # docker run -it -v $PWD:/root python /bin/bash Crie un archivo en la carpeta /root del container, despues salia del container y verifique se este archivo está en el host
del container python # docker volume create --name test # docker run -it -v test:/root python /bin/bash Crea un archivo en la carpeta /root del container, despues saia del container, crea un otro container con el mismo volume y asegure que el archivo existe # docker run -it -v teste:/root alpine /bin/sh Ejercicio
inclusive los desligados -l Lista los últimos containers, inclusive los desligados -n Lista los últimos N containers, inclusive los desligados -q Lista apenas los ids de los containers
container en ejecución start <id do container> Inicia el mismo container que estaba finalizado logs -f <id do container> Verifica la salida patrón del container attach <id do container> Conecta a el proceso que está ejecutando
del mantenedor de la imagen COPY <SRC> <DST> Copia el archivo para dentro del container RUN <comando> Ejecutar un determinado comando dentro del container CMD <proceso> CMD patrón caso nada seja definido en el "docker run" ENV <Variable><Valor> Especificar variable del ambiente para el container USER <usuário> El usuário que será usado para ejecutar los comandos WORKDIR <carpeta> Cual la pasta de trabajo (cd <carpeta>)
orden es importante para usar bien el cache de Docker en este documento! FROM python:2.7 COPY . /code WORKDIR /code RUN pip install -r requirements.txt CMD python app.py
vi Dockerfile # docker build -t=<nombre de la imagen> . PS.: Te recuerde en el nombre de la imagen, poner ele nombre de usuário antes. Ejemplo: felipedemorais/python (mi usuário és felipedemorais).
de la imagen> PS.: Te recuerde en el nombre de la imagen, poner ele nombre de usuário antes. Ejemplo: felipedemorais/python (mi usuário és felipedemorais).