docker ecosystem - part ii - compose

14
Docker Ecosystem - Part II by @mario21ic Talleres UNT

Upload: mario-j-inga-cahuana

Post on 22-Jan-2017

228 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Docker Ecosystem - Part II - Compose

Docker Ecosystem - Part II

by @mario21ic

TalleresUNT

Page 2: Docker Ecosystem - Part II - Compose

AgendaDocker Compose

Demo

Preguntas

Page 3: Docker Ecosystem - Part II - Compose

Docker Compose

Page 4: Docker Ecosystem - Part II - Compose

ProblemaContainers aislados

Configurar la ip cada vez que reinicia

Compartir datos de configuracion

Construir cada Image desde Dockerfile

Escalar un container

Page 5: Docker Ecosystem - Part II - Compose

Docker ComposePermite una facil orchestacion entre containers

Desde 1.6 tiene un dns embebido

Configuracion en un docker-compose.yml con posibilidad de hacer override docker-compose.override.yml y extender docker-compose.admin-task.yml

Desarrollado en Python

Instalacion: pip install docker-compose

Page 6: Docker Ecosystem - Part II - Compose

docker-compose.ymlversion: '2'services: nginx: build: . volumes: - ./html:/usr/share/nginx/html ports: - 8080:80

Page 7: Docker Ecosystem - Part II - Compose

Docker ComposeDescargar images:

Descargar service de un service:

Revisar logs:

$ docker-compose pull <service>

$ docker-compose pull

$ docker-compose logs

Page 8: Docker Ecosystem - Part II - Compose

Docker ComposeConstruir images:

Contruir image de un service:

Contruir y correr todos los services:

$ docker-compose build <service>

$ docker-compose build

$ docker-compose up

Page 9: Docker Ecosystem - Part II - Compose

Docker ComposeCorrer service sin dependencias:

Ejecutar un comando en un service:

Ejecutar un archivo compose especifico:

$ docker-compose up --no-deps <service>

$ docker-compose run <service> <comando>

$ docker-compose -f docker-compose.prod.yml up

Page 10: Docker Ecosystem - Part II - Compose

docker-compose.ymlversion: '2'services:web: image: odoo:8 depends_on: - db ports: - 8069:8069db: image: postgres:latest environment: POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo

Page 11: Docker Ecosystem - Part II - Compose

docker-compose.override.ymlweb: volumes: - ./odoo_vps:/mnt/extra-addons/odoo_vps ports: - "8069:8069"

Page 12: Docker Ecosystem - Part II - Compose

docker-compose.task.ymlweb_task: extends: file: docker-compose.override.yml service: web command: echo Task

Page 13: Docker Ecosystem - Part II - Compose

RecomendacionesAntes 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.

Page 14: Docker Ecosystem - Part II - Compose

Preguntas?