SlideShare a Scribd company logo
1 of 25
Docker Ecosystem - Part I
by
@mario21ic
Talleres
UNT
Agenda
Intro a Containers
Containers vs VMs
Docker Engine
Comandos
Dockerfile
Recomendaciones
Containers
Chroots con esteroides
Son procesos aislados que corren con recursos
asignados.
Comparten el mismo kernel del host
Livianos a comparacion de Hypervisor
Containers vs VMS
Containers vs VMS
Docker Engine
El problema
Solución
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
Docker Server - Cliente
Docker Engine
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]
Demo Images: search &
pull
• En cli ejecutar:
• Verificar:
$ docker search alpine
$ docker pull
alpine:latest
$ docker images
Demo Container: Hello
• En cli ejecutar:
• Verificar en otro terminal:
$ docker run -ti debian echo "Hello from container"
$ docker ps -a
Docker
Demo Container: Bash
• En cli ejecutar:
• Verificar en otro terminal:
$ docker run -ti debian:latest /bin/bash
$ docker ps
$ docker ps -a
Demo Container: Forward
port
• En cli ejecutar:
• Abrir browser:
http://localhost:8080/
$ docker run --name mynginx -p 8080:80 nginx
Demo Container: Volume
• En cli ejecutar:
• Abrir browser:
http://localhost:8080/
$ docker run --name mynginx 
-v $(pwd)/html:/usr/share/nginx/html 
-p 8080:80 nginx
Container save as Image
• En cli ejecutar:
• En otro terminal:
• Verificar:
$ docker run --name container_debian -ti debian
bash
# apt-get update && apt-get install -y htop
$ docker commit container_debian debian_hola
$ docker images
Dockerfile
Y como genero mi propio
Docker Image personalizado?
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
Dockerfile
• Ejecutar:
• Verificar:
• Usar la imagen:
$ docker build -t image_from_dockerfile:latest .
$ docker images
$ docker run --name newcontainer -p 8088:80 -d
image_from_dockerfile
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
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.
Preguntas?

More Related Content

What's hot

What's hot (20)

Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlima
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Presentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmPresentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarm
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 

Viewers also liked

Viewers also liked (18)

Docker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryDocker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker Registry
 
Docker Ecosystem: Part IV - Swarm
Docker Ecosystem: Part IV - SwarmDocker Ecosystem: Part IV - Swarm
Docker Ecosystem: Part IV - Swarm
 
Docker ecosystem
Docker ecosystemDocker ecosystem
Docker ecosystem
 
Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014Docker Demo IBM Impact 2014
Docker Demo IBM Impact 2014
 
Icinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringIcinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate Monitoring
 
Aws Autoscaling
Aws AutoscalingAws Autoscaling
Aws Autoscaling
 
Day 5 - AWS Autoscaling Master Class - The New Capacity Plan
Day 5 - AWS Autoscaling Master Class - The New Capacity PlanDay 5 - AWS Autoscaling Master Class - The New Capacity Plan
Day 5 - AWS Autoscaling Master Class - The New Capacity Plan
 
How Does Amazon EC2 Auto Scaling Work
How Does Amazon EC2 Auto Scaling WorkHow Does Amazon EC2 Auto Scaling Work
How Does Amazon EC2 Auto Scaling Work
 
Docker ecosystem
Docker ecosystemDocker ecosystem
Docker ecosystem
 
Docker Ecosystem: Part III - Machine
Docker Ecosystem: Part III - MachineDocker Ecosystem: Part III - Machine
Docker Ecosystem: Part III - Machine
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
The Docker Ecosystem
The Docker EcosystemThe Docker Ecosystem
The Docker Ecosystem
 
ICSEC2016-Policy management for docker ecosystem
ICSEC2016-Policy management for docker ecosystemICSEC2016-Policy management for docker ecosystem
ICSEC2016-Policy management for docker ecosystem
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
작은 스타트업에서 큰 개발자로 성장하기
작은 스타트업에서 큰 개발자로 성장하기작은 스타트업에서 큰 개발자로 성장하기
작은 스타트업에서 큰 개발자로 성장하기
 
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time DatabaseFirebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
 
Tracxn Docker Ecosystem Startup Landscape - Feb 2015
Tracxn Docker Ecosystem Startup Landscape - Feb 2015Tracxn Docker Ecosystem Startup Landscape - Feb 2015
Tracxn Docker Ecosystem Startup Landscape - Feb 2015
 
Tracxn Research — Docker Ecosystem Startup Landscape, September 2016
Tracxn Research —  Docker Ecosystem Startup Landscape, September 2016Tracxn Research —  Docker Ecosystem Startup Landscape, September 2016
Tracxn Research — Docker Ecosystem Startup Landscape, September 2016
 

Similar to Docker Ecosystem - Part I - Engine

Similar to Docker Ecosystem - Part I - Engine (20)

Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
 
Taller docker _es-cl
Taller docker _es-clTaller docker _es-cl
Taller docker _es-cl
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Docker
DockerDocker
Docker
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Docker WordPress
Docker WordPressDocker WordPress
Docker WordPress
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacion
 
Contenedores, creando infraestructuras homogeneas
Contenedores, creando infraestructuras homogeneasContenedores, creando infraestructuras homogeneas
Contenedores, creando infraestructuras homogeneas
 
Docker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos AiresDocker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos Aires
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrollo
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas Asterisk
 

More from Mario IC

More from Mario IC (20)

Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
 
Aws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSAws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMS
 
Aws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMS
 
Testing Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraTesting Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfra
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con Ansible
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroides
 
Infraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersInfraestructura como Codigo para Developers
Infraestructura como Codigo para Developers
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Cloud native Computing Perú Octubre
Cloud native Computing Perú OctubreCloud native Computing Perú Octubre
Cloud native Computing Perú Octubre
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - Suestra
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
 
Docker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioDocker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junio
 
Testing en BDD con Python y Behave
Testing en BDD con Python y BehaveTesting en BDD con Python y Behave
Testing en BDD con Python y Behave
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
Docker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayDocker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbday
 
Modelado de API con RAML
Modelado de API con RAMLModelado de API con RAML
Modelado de API con RAML
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo Basic
 
Programando con Python
Programando con PythonProgramando con Python
Programando con Python
 

Docker Ecosystem - Part I - Engine