Una breve exposición sobre como el uso de contenedores puede ayudar a los Dev Ops a tener entornos escalables de fácil replicación en las plataformas donde Docker pueda instalarse, ademas de la exploración de herramientas como docker-composer la cual sirve para describir y construir plataformas para las aplicaciones.
2. www.sgcampus.com.mx @sgcampus
Conceptos
Contenedor: Recipiente donde se deposita algo.
Homogéneo: Formado por elementos que poseen
las mismas características.
Infraestructura: Conjunto de elementos necesarios
para la creación y funcionamiento de un sistema.
Dockerizar: Almacenar una pieza de software
dentro de un contenedor de Docker.
3. www.sgcampus.com.mx @sgcampus
Docker
Docker es una plataforma open-source que permite la
construcción, envio y ejecución de aplicaciones
distribuidas.
Palabras clave:
• Build
• Ship
• Run
11. www.sgcampus.com.mx @sgcampus
Ventajas de usar docker
Encapsula todo lo que necesitas en una pieza de
software (código, entornos, plataformas).
Siempre ejecutas en el mismo entorno.
Se agrega una capa de “protección” para tus
servicios.
Agregar cambios dinámicos a los contenedores y
distribución rápida de estos.
13. www.sgcampus.com.mx @sgcampus
Contenedor e imágenes
Contenedor: El recipiente de tu aplicación que posee una versión del SO Linux.
Imagen: Todo aquel software que se va a cargar dentro del contenedor.
Cuando se ejecuta el comando para crear un contenedor, este se ejecuta en 3
partes:
• Revisa si ya se posee la imagen.
• Baja la imagen del docker hub.
• Carga la imagen y la ejecuta.
14. www.sgcampus.com.mx @sgcampus
Comandos de Docker
Build
docker build -t <user>/<repository>:<version>
<path_to_Dockerfile>
Run
docker run -ti -p 80:80 <user>/<repository>:<version>
/bin/bash
Ship
docker commit
docker push <user>/<repository>
16. www.sgcampus.com.mx @sgcampus
Semi-automatizada
• Creando un Dockerfile
• Construyendo la imagen
• Ejecutandola
Estructura básica de un Dockerfile
# This is a comment
FROM ubuntu:14.04
MAINTAINER Kate Smith <ksmith@example.com>
RUN apt-get update && apt-get install -y ruby ruby-dev
RUN gem install sinatra
17. www.sgcampus.com.mx @sgcampus
Docker composer
Usando Docker composer en combinación con Dockerfiles, composer toma un
archivo con formato yaml, con el cual podemos describir la organización de un
nodo de una infraestructura.
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
18. www.sgcampus.com.mx @sgcampus
Open Container Project
Es un esfuerzo de varias organizaciones para crear un estándar de tecnología
es lo contenedores.
Persigue algunos de los siguientes objetivos:
• No estar asociado a un vendedor o proyecto.
• Ser portable sin importar sistema operativo, hardware, etc.
Empresas que participan: Amazon Web Services, Apcera, Cisco, CoreOS,
Docker, EMC, Fujitsu Limited, Goldman Sachs, Google, HP, Huawei, IBM, Intel,
Joyent, Linux Foundation, Mesosphere, Microsoft, Pivotal, Rancher Labs, Red
Hat and VMware create standards around container format and runtime
Docker colaboró dando el formato del contenedor, código y especificaciones del
proyecto.