docker

18
Docker en MercadoLibre lucia.brizuela@mercadolibre. com

Upload: melidevelopers

Post on 16-Apr-2017

350 views

Category:

Technology


0 download

TRANSCRIPT

Docker en MercadoLibre

[email protected]

“Docker es una forma de ejecutar procesos de forma aislada, por medio de la generación de containers.”

Docker

Docker Compose

“Es una herramienta para definir, administrar y correr múltiples containers al mismo tiempo”

Contexto de Meli

~800 desarrolladores en 5 centros

~400 deploys por día

~20K servidores virtuales en 3 datacenters

~18 MM rpm

Un día típico de un desarrollador...

DesarrollarIntegración

continuaBuildearTestear

localmente

Deployar

Debuggear

Docker al desarrollar

Código

Docker al desarrollar

CódigoCódigo

Docker al desarrollar

Código

Simplificar el setup del entorno

Generar nuevos ambientes

Documentar dependencias externas

Docker al desarrollar

FROM mercadolibre/grails:2.4.3 myApp: build: . port: - “8080:8080” volumes: - .:/app links: - mysql environment: - GRAILS_ENV=development

mysql: image: mysql

/Dockerfile /docker-compose.yml

Docker al desarrollar

myApp:8080 mysql:3306

docker-compose up -d

Configuración para Producción

FROM mercadolibre/tomcat-runtime:7

ENV CATALINA_OPTS "-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 $CATALINA_OPTS"

/Dockerfile /Dockerfile.runtime

FROM mercadolibre/grails:2.4.3

/docker-compose.yml

...

Generar un build

#/bin/bash

cd app/

## Genero la imagen de desarrollo y corro testsdocker build -t --file Dockerfile develop-app .docker run develop-app /test.sh

## Genero y guardo la imagen de produccióndocker build -t --file Dockerfile.runtime app .docker push app

Docker en Producción

Simplificar el setup del entorno

Replicar Código + Entorno

Simular Producción localmente

Docker en Producción

SERVIDOR FÍSICO

SERVIDOR VIRTUAL SERVIDOR VIRTUAL SERVIDOR VIRTUAL

DOCKER ENGINE

APP 1

LOGS

METRICS

DOCKER ENGINE

APP 2

LOGS

METRICS

Docker en Producción

SERVIDOR FÍSICO

SERVIDOR VIRTUAL SERVIDOR VIRTUAL

DOCKER ENGINE

APP

Docker en Producción

SERVIDOR FÍSICO

SERVIDOR VIRTUAL SERVIDOR VIRTUAL

DOCKER ENGINE

APP

EC2 EC2

DOCKER ENGINE

APP

Básicamente...

Simplificar el ambiente de desarrollo

Reproducción local del ambiente productivo

Replicar Código + Entorno

Gracias

[email protected]