docker^3

45
Docker for DevOps David Dali Susanibar Arce DevOps Cloud (@ davisusanibar & https:// github.com/davisusanibar & [email protected] )

Upload: david-dali-susanibar-arce

Post on 11-Apr-2017

268 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Docker^3

Docker for DevOpsDavid Dali Susanibar Arce DevOps Cloud(@davisusanibar & https://github.com/davisusanibar & [email protected])

AgendaRecursosDockerDocker VMDocker StackDocker Networking (zeroconf)Docker by examplesNodeJSDockerize nodejs appsScale dockerize nodejs appsTesting with Docker, POCJenkinsNginxMySQL Master SlaveDocker on the CloudSiguientes pasos

RecursosAWS EC2:

ssh -i limaconf.pem [email protected] -i limaconf.pem [email protected] su s > root#

NENVSODNSIP1AWSUbuntuec2-52-36-240-85.us-west-2.compute.amazonaws.com52.36.240.852AWSUbuntu3AWSAmazonec2-52-38-149-172.us-west-2.compute.amazonaws.com52.38.149.1724AWSAmazonec2-52-32-68-61.us-west-2.compute.amazonaws.com52.32.68.61

Docker

(*1)

Docker - VM

(*2)

Docker Stack

(*3)

Docker Stack

(*4)

Docker Networking (zeroconf)

(*5)

(*6)

Docker by examplesPara los ejemplos nos guiaremos del siguiente repositorio: https://github.com/davisusanibar/limaconf.git

Node JS App:Ir a /wks/nodejs compilar y levantar el applicativo con:npm installnode index.js

Node JS App

Docker Node JS AppDocker Node JS App:Ir a /wks/docker compilar y levantar el applicativo con:docker build -t limaconf/nodejsapp:v1 .docker imagesdocker run -d --name mynodejsindocker -p 8006:8003 limaconf/nodejsapp:v1docker ps -a | grep mynodejsindockerdocker port 40d7a2e47712sh ../util/dinspect.shcurl 172.17.0.3:8003docker logs 40d7a2e47712docker inspect 40d7a2e47712

Docker Node JS App

Docker Node JS App

Scale Docker Node JS AppPara la prueba de escalamiento usaremos las siguientes tecnologias:Service Registrator: gliderlabs/registratorConsul Service Discovery: progrium/consulLoad Balancer: nginx:1.7

Ir a /wks/dockercompose compilar y levantar el applicativo con:docker-compose builddocker-compose up ddocker-compose logsdocker-compose psdocker-compose scale app=3

Scale Docker Node JS App

Scale Docker Node JS App

Scale Docker Node JS App

Scale Docker Node JS App

Testing with DockerJenkins (https://hub.docker.com/_/jenkins/)docker run -d -p 8080:8080 -p 50000:50000 jenkins

Nginx (https://github.com/tutumcloud/hello-world)docker run -d -p 80 tutum/hello-world

MySQL Master / Slavedocker run -d -p 3306:3306 tutum/mysql

Testing with Docker

Testing with Docker

Docker on the Cloud IBM Bluemixbluemix login -a https://api.ng.bluemix.netUS Southcf login -a api.ng.bluemix.netUnited Kingdomcf login -a api.eu-gb.bluemix.net

docker build -t limaconfnodejs .

docker tag limaconfnodejs registry.ng.bluemix.net/topaya/limaconfnodejs:v1

docker push registry.ng.bluemix.net/topaya/limaconfnodejs:v1

cf ic run --name limaconfnodejs_bluemix registry.ng.bluemix.net/topaya/limaconfnodejs:v1

IBM Bluemix

https://console.ng.bluemix.net/

IBM Bluemix

IBM Bluemix

# cf ic images# cf ic ps

[root@ip-172-31-38-131 docker]# cf ic imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry.ng.bluemix.net/topaya/limaconfnodejs v1 68ba9ad836a4 24 minutes ago 363.4 MBregistry.ng.bluemix.net/ibm-mobilefirst-starter latest a100524c96cb 10 days ago 921.6 MBregistry.ng.bluemix.net/ibm-node-strong-pm latest 3e2373877cf5 7 days ago 572 MBregistry.ng.bluemix.net/ibmliberty latest 33fdda9431c7 10 days ago 555.3 MBregistry.ng.bluemix.net/ibmnode latest a4964fd52b4f 8 days ago 434.7 MBregistry.ng.bluemix.net/ibmnode v4 a4964fd52b4f 8 days ago 434.7 MBregistry.ng.bluemix.net/ibmnode v1.1 e4812bb29c8e 8 days ago 410.1 MBregistry.ng.bluemix.net/ibmnode v1.2 5f50977d9959 8 days ago 426.2 MB[root@ip-172-31-38-131 docker]#[root@ip-172-31-38-131 docker]# cf ic psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5070b32a-d6f registry.ng.bluemix.net/topaya/limaconfnodejs:v1 "" 8 minutes ago Running 7 minutes ago 169.44.0.52:8003->8003/tcp limaconfinactionea0d5f22-54e registry.ng.bluemix.net/ibm-mobilefirst-starter:latest "" 53 minutes ago Running 53 minutes ago 169.44.0.234:22->22/tcp, 169.44.0.234:80->80/tcp, 169.44.0.234:9080->9080/tcp, 169.44.0.234:9443->9443/tcp limaconf[root@ip-172-31-38-131 docker]#25

IBM Bluemix

http://169.44.0.234:9080/

http://169.44.0.234:9080/26

Mesosphere DCOShttps://mesosphere.com/amazon/setup/#

Mesosphere DCOS

Mesosphere DCOS

Mesosphere DCOS

http://dcos-oreg-ElasticL-1DDRGF06OYG2O-1663676082.us-west-2.elb.amazonaws.com

Mesosphere DCOS

Mesosphere DCOS

Mesosphere DCOS

Mesosphere DCOS

Mesosphere DCOS

Mesosphere DCOS

Mesos Marathon Zookeeper Consul - Docker

Kubernetes

Siguientes PasosAWS EC2 Container ServiceIBM Bluemix

https://aws.amazon.com/account/https://console.ng.bluemix.net/registration/

https://aws.amazon.com/account/

https://console.ng.bluemix.net/registration/39

Siguientes PasosPivotal Web Services Cloud FoundryDocker Cloud

https://console.run.pivotal.io/https://cloud.docker.com/onboarding/

Siguientes Pasoshttps://console.cloud.google.com

Siguientes PasosRevisar estos temas:DBAAS:Openstack Trove Tesora

Monitoring:Zabbix (http://play.grafana-zabbix.org/)Kibana (http://play.grafana.org/)ELKConsul (http://demo.consul.io/ui/#)

IAAS Ambiente de Pruebas:Ravello Systems

Referencias(*1) https://www.docker.com/what-docker(*2) https://www.docker.com/what-docker(*3) https://www.docker.com/(*4,5) Docker in Production (Lessons From The Trenches) de los autores Joe Johnston, John Fiedler, Milos Gajdos, Antoni Batchelli, Justin Cormack(*6) http://www.linuxjournal.com/content/concerning-containers-connections-docker-networking

Q&A

Gracias Totales!