Este documento presenta una introducción a Docker y sus componentes principales. Explica que Docker utiliza contenedores livianos en lugar de máquinas virtuales pesadas. Describe el motor Docker que permite ejecutar aplicaciones empaquetadas como contenedores aislados. Muestra comandos básicos de Docker como buscar, descargar e iniciar imágenes y contenedores. Finalmente, recomienda mapear servicios antes de dockerizar aplicaciones y separar configuraciones en docker-compose.
3. Containers
Chroots con esteroides
Son procesos aislados que corren con recursos
asignados.
Comparten el mismo kernel del host
Livianos a comparacion de Hypervisor
9. Docker Engine
Una plataforma abierta para aplicaciones distribuidas
para Developers y Sysadmins
Desarrollado inicialmente en Python y migrado a Go
Servidor (Linux) - Cliente (multiplataforma)
Open-source https://github.com/docker/docker
12. Docker syntax
command: accion a ejecutar
params: para cambiar comportamiento
image: la plantilla a usar
tag: la version de la plantilla
$ docker <command> [params] <image>:[tag]
21. Dockerfile
• Generar archivo Dockerfile con contenido:
FROM nginx:latest
MAINTAINER Mario Inga <mario21ic@gmail.com>
RUN echo 'Building from Dockerfile'
COPY html/index.html /usr/share/nginx/html/index.html
23. Docker Link
• Ejecutar:
• Browser: http://localhost:8080/
• Consola:
$ docker run --name some-mysql -p 3306:3306
-e MYSQL_ROOT_PASSWORD=miclavedb -d mysql
$ docker run --name some-wordpress
--link some-mysql:mysql -p 8080:80 -d wordpress
$ docker exec -ti some-wordpress bash
24. Recomendaciones
Antes de dockerizar un app primero mapear sus
servicios.
Cada container debe ser responsable de un solo
proceso.
Usar solo volumen en caso sea necesario.
Separar sus configs docker-compose.yml
Aprovechar la reutilizacion de capas al crear
imagenes.