SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Introduction to Docker
http://bit.do/nerdearla-docker
Antes de empezar
Instalar Docker:
● MacOS/Windows
○ Bajar docker toolbox: https://www.docker.com/products/docker-
toolbox
○ Mac: https://docs.docker.com/v1.8/installation/mac/
○ Windows: https://docs.docker.com/v1.8/installation/windows/
● Linux
○ Instalar del sistema de paquetes
○ O ver acá segun distro: https://docs.docker.com/v1.
8/installation/debian/
Clonar este repo: https://github.com/restorando/docker-workshop
Configurar nuestro registry local
● Por si no anda muy bien internet, pueden bajar las imágenes desde
la LAN
● Inseguro porque no tenemos DNSs ni sabiamos a priori nuestra IP
acá
● Con docker nativo en OSX:
○ pinata set daemon '{"insecure-registries":
["IP:5000"]}'
● Con docker-machine o Linux:
○ DOCKER_OPTS=”--insecure-registry IP:5000”
○ (ver https://docs.docker.com/registry/insecure/)
● IMPORTANTE probar: docker pull IP:5000/debian:jessie
¿Quiénes somos?
Rodrigo Campos
rata
Juan Barreneche
jbarreneche
@jbarreneche
Agenda
Deployment tradicional
Deployment con containers
Docker containers
Corriendo nuestro primer container
Docker registries
Definiendo containers
Configure
Provisioning
Deployment tradicional
Deploy App
Launch
server
New
Application
Consecuencias de esta forma
● Servers mutables
○ Posibles diferencias entre ambientes y/o diferentes nodos
● Puede haber conflictos entre aplicaciones si usan el mismo
servidor
○ En general lleva a un server por app y desperdicio de recursos
● El escalado suele ser “manual” o complicado de automatizar por
completo
● Desarrolladores dependenden del sector de operaciones
¿Cómo podríamos solucionar estos
problemas?
Desventajas
● Más cosas para manejar
○ Complicado hacerlo manualmente o
con las herramientas tradicionales
● Otro layer de abstracción no
trivial
● Dificulta el deployment de
aplicaciones que mantienen
estado
Deployment con containers
Ventajas
● Devs más libertades e
involucrados en la definición de
infraestructura
● Menos dependencia con equipo
de “Operaciones”
● Permite monitoreo de recursos
más preciso
● Fácilmente adaptable a buenas
prácticas como 12 factor app
Docker containers
● Aisla con namespaces
○ PID, network, mount, IPC, users, etc.
● Limita los recursos con cgroups
● Se estandarizó el runtime
○ runC con la iniciativa OCI
○ CoreOS está haciendo rocket
○ Hyper es otro (runV) con VMs y un “mini kernel”
● Docker es más que un runtime
○ Formato de la imagen, crearlo, distribuirlo y correrlo
○ Es un daemon y un cliente
Corriendo nuestro primer container
● docker run -P IP:5000/nginx:1.10.0
● docker run -P IP:5000/nginx:1.9.3
● docker ps
nerdear.la 2016 - Docker workshop
Docker basic concepts
Container
Image
Registry
$ docker run <image>
$ docker images
$ docker pull <image>
$ docker build <directory>
$ docker ps
$ docker logs
Basic docker commands
Definiendo imágenes
● Se especifica paso a paso en un Dockerfile
● Cada imágen se compone de uno más “layers”
○ Cada paso genera un “layer”
● Es inmutable una vez que se construyó
● Se usa repositorio y tag para identificarla
○ Por ejemplo: myapp:v1.0
● Toma un contexto (“.”, URL) para crear el container
○ Por ejemplo: docker build .
El Dockerfile
FROM IP:5000/debian:jessie
RUN apt-get update && 
apt-get install -y nginx
COPY index.html /var/www/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
→ Define la imágen base de la que
empezamos
→ Corre un comando en el container
(en el repo está completo)
→ Copia algo del contexto al container
→ Dice que este container expone ese puerto
→ Qué correr al levantar el container
Armando nuestra primer imagen
$ docker build -t workshop .
$ docker run -P workshop
$ docker ps
docker build -t workshop .
docker run -P workshop
FROM registry.restorando.com/ruby-2.1-web:v1.3
WORKDIR /app/
COPY Gemfile Gemfile.lock /app/
RUN bundle install -j 4 --retry 5 --without development test --deployment
COPY . /app/
RUN bin/rake assets:precompile
EXPOSE 3000
CMD ["bin/unicorn", "-p", "3000", "-c", "config/unicorn.rb"]
Un Dockerfile productivo
Build en CI
¿Preguntas?
● Doc completa del formato del Dockerfile:
○ https://docs.docker.com/engine/reference/builder/
● Más doc del CLI:
○ https://docs.docker.com/engine/reference/commandline/
● Training de docker:
○ https://training.docker.com/introduction-to-docker
● Why containers?
○ http://kubernetes.io/docs/whatisk8s/
○ Google “Lessons learned from three container-management systems
over a decade”: http://queue.acm.org/detail.cfm?id=2898444
Referencias y artículos interesantes
Gracias!
PD: Borren el insecure registry de su docker!

Contenu connexe

Tendances

Seminario CLEFormacion-docker
Seminario CLEFormacion-dockerSeminario CLEFormacion-docker
Seminario CLEFormacion-dockerCLEFormación
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoRestorando
 
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 swarmAlejandro Escanero Blanco
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
Kubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaKubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaJoselu Marina
 
Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019
Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019
Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019Luis Enrique Tejeda Rodriguez
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación DockerITPAMI
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
 

Tendances (20)

Seminario CLEFormacion-docker
Seminario CLEFormacion-dockerSeminario CLEFormacion-docker
Seminario CLEFormacion-docker
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
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
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Usando docker
Usando dockerUsando docker
Usando docker
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Kubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaKubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y Taniwa
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019
Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019
Orquestando Contenedores En La Nube - Enrique Tejeda - Sloth 2019
 
introducción a Docker
introducción a Dockerintroducción a Docker
introducción a Docker
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
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 como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 

En vedette

Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaGermán Moltó
 
Vagrant ansible pesadilla en la consultoria
Vagrant ansible pesadilla en la consultoriaVagrant ansible pesadilla en la consultoria
Vagrant ansible pesadilla en la consultoriaAlejandro de la Hoz
 
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IITECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IIChristian Garcia Gamio
 
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPJorge E. López de Vergara Méndez
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduceVictoria López
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Socketsmallita
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosNanda Moran
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementaciónDiego Krauthamer
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization WSO2
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopDavid Albela Pérez
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Como de grandes son tus datos
Como de grandes son tus datosComo de grandes son tus datos
Como de grandes son tus datosAntonio Rodriguez
 
Devopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan MantikaDevopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan MantikaFlavia Marinelli
 

En vedette (20)

Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su Ecosistema
 
Vagrant ansible pesadilla en la consultoria
Vagrant ansible pesadilla en la consultoriaVagrant ansible pesadilla en la consultoria
Vagrant ansible pesadilla en la consultoria
 
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IITECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
 
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Sockets
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Hadoop
HadoopHadoop
Hadoop
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
 
Hadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadasHadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadas
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Polybase
PolybasePolybase
Polybase
 
Como de grandes son tus datos
Como de grandes son tus datosComo de grandes son tus datos
Como de grandes son tus datos
 
Devopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan MantikaDevopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan Mantika
 

Similaire à nerdear.la 2016 - Docker workshop

PHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHPPHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHPRolando Caldas
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloMarco Bellido
 
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 - Quaipquaip
 
Workshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresWorkshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresJesús A. Rodríguez B.
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020BelnGonzlezGarca1
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 
Dockerparadesarrollo
DockerparadesarrolloDockerparadesarrollo
DockerparadesarrolloEric Zeidan
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
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]Keopx
 
Generar nuestro local docker container registry server ssl autofirmado
Generar nuestro local docker container registry server  ssl autofirmadoGenerar nuestro local docker container registry server  ssl autofirmado
Generar nuestro local docker container registry server ssl autofirmadoCésar Martín Ortiz Pintado
 

Similaire à nerdear.la 2016 - Docker workshop (20)

PHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHPPHPVigo #23 - Taller de Docker para PHP
PHPVigo #23 - Taller de Docker para PHP
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrollo
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Docker images
Docker imagesDocker images
Docker images
 
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
 
Workshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los ContenedoresWorkshop docker: Iniciando en el Mundo de los Contenedores
Workshop docker: Iniciando en el Mundo de los Contenedores
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
TECNIRIS47-1b.pdf
TECNIRIS47-1b.pdfTECNIRIS47-1b.pdf
TECNIRIS47-1b.pdf
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
Dockerparadesarrollo
DockerparadesarrolloDockerparadesarrollo
Dockerparadesarrollo
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Taller girona
Taller gironaTaller girona
Taller girona
 
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]
 
Meetup V.E.No.M. y docker
Meetup V.E.No.M. y dockerMeetup V.E.No.M. y docker
Meetup V.E.No.M. y docker
 
Dockers y wp
Dockers y wpDockers y wp
Dockers y wp
 
Generar nuestro local docker container registry server ssl autofirmado
Generar nuestro local docker container registry server  ssl autofirmadoGenerar nuestro local docker container registry server  ssl autofirmado
Generar nuestro local docker container registry server ssl autofirmado
 
Introduccion A Docker
Introduccion A DockerIntroduccion A Docker
Introduccion A Docker
 

Dernier

CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdfCV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdfsd3700445
 
Método inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenasMétodo inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenas182136
 
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...AmeliaJul
 
concreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historicaconcreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historicaamira520031
 
Poder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfestPoder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfestSilvia España Gil
 
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambientalModulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambientalAcountsStore1
 
gabriela marcano estructura iii historia del concreto
gabriela marcano  estructura iii historia del concretogabriela marcano  estructura iii historia del concreto
gabriela marcano estructura iii historia del concretoGabrielaMarcano12
 
Presentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptxPresentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptxwilliam atao contreras
 
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdfPPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdfANGHELO JJ. MITMA HUAMANÌ
 
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERUBROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERUSharonRojas28
 
analisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdfanalisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdfJOHELSANCHEZINCA
 
Cuadro de las web 1.0, 2.0 y 3.0 pptx
Cuadro de las web 1.0, 2.0 y 3.0     pptxCuadro de las web 1.0, 2.0 y 3.0     pptx
Cuadro de las web 1.0, 2.0 y 3.0 pptxecarmariahurtado
 
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambientalModulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambientalAcountsStore1
 
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍCALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍArquitecto Chile
 
TAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gasTAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gasroberto264045
 
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdfPrincipios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdfYADIRAXIMENARIASCOSV
 
1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientos1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientosMaicoPinelli
 
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdfMecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdfaaaaaaaaaaaaaaaaa
 
Diseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaDiseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaLuisAlfredoPascualPo
 
IA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptxIA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptxcecymendozaitnl
 

Dernier (20)

CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdfCV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdf
 
Método inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenasMétodo inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenas
 
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
 
concreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historicaconcreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historica
 
Poder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfestPoder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfest
 
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambientalModulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
 
gabriela marcano estructura iii historia del concreto
gabriela marcano  estructura iii historia del concretogabriela marcano  estructura iii historia del concreto
gabriela marcano estructura iii historia del concreto
 
Presentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptxPresentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptx
 
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdfPPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
 
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERUBROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
 
analisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdfanalisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdf
 
Cuadro de las web 1.0, 2.0 y 3.0 pptx
Cuadro de las web 1.0, 2.0 y 3.0     pptxCuadro de las web 1.0, 2.0 y 3.0     pptx
Cuadro de las web 1.0, 2.0 y 3.0 pptx
 
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambientalModulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
 
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍCALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
 
TAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gasTAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gas
 
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdfPrincipios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
 
1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientos1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientos
 
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdfMecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
 
Diseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaDiseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra Rina
 
IA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptxIA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptx
 

nerdear.la 2016 - Docker workshop

  • 2. Antes de empezar Instalar Docker: ● MacOS/Windows ○ Bajar docker toolbox: https://www.docker.com/products/docker- toolbox ○ Mac: https://docs.docker.com/v1.8/installation/mac/ ○ Windows: https://docs.docker.com/v1.8/installation/windows/ ● Linux ○ Instalar del sistema de paquetes ○ O ver acá segun distro: https://docs.docker.com/v1. 8/installation/debian/ Clonar este repo: https://github.com/restorando/docker-workshop
  • 3. Configurar nuestro registry local ● Por si no anda muy bien internet, pueden bajar las imágenes desde la LAN ● Inseguro porque no tenemos DNSs ni sabiamos a priori nuestra IP acá ● Con docker nativo en OSX: ○ pinata set daemon '{"insecure-registries": ["IP:5000"]}' ● Con docker-machine o Linux: ○ DOCKER_OPTS=”--insecure-registry IP:5000” ○ (ver https://docs.docker.com/registry/insecure/) ● IMPORTANTE probar: docker pull IP:5000/debian:jessie
  • 4. ¿Quiénes somos? Rodrigo Campos rata Juan Barreneche jbarreneche @jbarreneche
  • 5. Agenda Deployment tradicional Deployment con containers Docker containers Corriendo nuestro primer container Docker registries Definiendo containers
  • 7. Consecuencias de esta forma ● Servers mutables ○ Posibles diferencias entre ambientes y/o diferentes nodos ● Puede haber conflictos entre aplicaciones si usan el mismo servidor ○ En general lleva a un server por app y desperdicio de recursos ● El escalado suele ser “manual” o complicado de automatizar por completo ● Desarrolladores dependenden del sector de operaciones
  • 8. ¿Cómo podríamos solucionar estos problemas?
  • 9. Desventajas ● Más cosas para manejar ○ Complicado hacerlo manualmente o con las herramientas tradicionales ● Otro layer de abstracción no trivial ● Dificulta el deployment de aplicaciones que mantienen estado Deployment con containers Ventajas ● Devs más libertades e involucrados en la definición de infraestructura ● Menos dependencia con equipo de “Operaciones” ● Permite monitoreo de recursos más preciso ● Fácilmente adaptable a buenas prácticas como 12 factor app
  • 10. Docker containers ● Aisla con namespaces ○ PID, network, mount, IPC, users, etc. ● Limita los recursos con cgroups ● Se estandarizó el runtime ○ runC con la iniciativa OCI ○ CoreOS está haciendo rocket ○ Hyper es otro (runV) con VMs y un “mini kernel” ● Docker es más que un runtime ○ Formato de la imagen, crearlo, distribuirlo y correrlo ○ Es un daemon y un cliente
  • 11. Corriendo nuestro primer container ● docker run -P IP:5000/nginx:1.10.0 ● docker run -P IP:5000/nginx:1.9.3 ● docker ps
  • 14. $ docker run <image> $ docker images $ docker pull <image> $ docker build <directory> $ docker ps $ docker logs Basic docker commands
  • 15. Definiendo imágenes ● Se especifica paso a paso en un Dockerfile ● Cada imágen se compone de uno más “layers” ○ Cada paso genera un “layer” ● Es inmutable una vez que se construyó ● Se usa repositorio y tag para identificarla ○ Por ejemplo: myapp:v1.0 ● Toma un contexto (“.”, URL) para crear el container ○ Por ejemplo: docker build .
  • 16. El Dockerfile FROM IP:5000/debian:jessie RUN apt-get update && apt-get install -y nginx COPY index.html /var/www/html/ EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] → Define la imágen base de la que empezamos → Corre un comando en el container (en el repo está completo) → Copia algo del contexto al container → Dice que este container expone ese puerto → Qué correr al levantar el container
  • 17. Armando nuestra primer imagen $ docker build -t workshop . $ docker run -P workshop $ docker ps
  • 18. docker build -t workshop .
  • 19. docker run -P workshop
  • 20. FROM registry.restorando.com/ruby-2.1-web:v1.3 WORKDIR /app/ COPY Gemfile Gemfile.lock /app/ RUN bundle install -j 4 --retry 5 --without development test --deployment COPY . /app/ RUN bin/rake assets:precompile EXPOSE 3000 CMD ["bin/unicorn", "-p", "3000", "-c", "config/unicorn.rb"] Un Dockerfile productivo
  • 23. ● Doc completa del formato del Dockerfile: ○ https://docs.docker.com/engine/reference/builder/ ● Más doc del CLI: ○ https://docs.docker.com/engine/reference/commandline/ ● Training de docker: ○ https://training.docker.com/introduction-to-docker ● Why containers? ○ http://kubernetes.io/docs/whatisk8s/ ○ Google “Lessons learned from three container-management systems over a decade”: http://queue.acm.org/detail.cfm?id=2898444 Referencias y artículos interesantes
  • 24. Gracias! PD: Borren el insecure registry de su docker!

Notes de l'éditeur

  1. Introducirnos (mencionar restorando)
  2. (multiples apps) ->
  3. Container: basado en la imagen, layer nuevo para escribir, se pierde al matarlo y corre hasta que el proceso que iniciamos (CMD) muere! Ojo! Imagen: read-only template used to create containers Registry: publico/privado, aws y gcloud dan uno, se usa docker hub por default