SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Taller
Docker
Introducción al ecosistema Docker
3
Proyecto Open source
• 2MM+ Imágenes descargadas
• 2000+ Contribuyentes
• 40K+ Estrellas en GitHub
• 200K+ App Dockerizadas
• 240 Meetups en más de 70
países
• 95K Miembros de Meetup
¿Qué es Docker?
Comunidad Docker Docker Inc
Proveedor de contenedores como un
servicio
• Plataforma de Integración para
desarrolladores y operaciones
• Soporte técnico
Patrocinador del proyecto Docker
• Principal patrocinador del proyecto
Docker
• Apoya a mantenedores del proyecto
Ecosistema Docker
Dev Tools
Official Repositories
Operating Systems
Big Data
Service Discovery
Build / Continuous Integration
Configuration Management
Consulting &Training
Management
Storage
Clustering & Scheduling
Networking
Infrastructure & Service Providers
Storage
Security
Monitoring & Logging
4
Quién soy yo
Felipe de Morais:
● Carioca da gema
● Enamorado por comunidades
● Consultor en Thoughtworks
● Site: felipedemorais.com.br
● Medium: medium.com/@felipedemoraes
● Twitter: felipedemorais_
● Github: lipemorais
Quién soy yo
Felipe de Morais:
● Carioca da gema
● Enamorado por las comunidades
● Consultor en Thoughtworks
● Site: felipedemorais.com.br
● Medium: medium.com/@felipedemoraes
● Twitter: felipedemorais_
● Github: lipemorais
Básico de Docker
Docker Image
La base de un container Docker
Docker Container
Es una unidad estándar en la cual reside el servicio de una aplicación
Docker Engine
Crea, encapsula y ejecuta los containers Docker que se pueden usar en el
entorno físico o virtual, en los datacenters o cloud services.
Docker Registry
És un proyecto para compartir imágenes Docker. El más famoso es
https://hub.docker.com/
Las aplicaciones están cambiando
8
Servicios con
acoplamiento
pequeño
Muchos servidores
pequeños
~2000 Hoy
Monolitos
Grandes
servidores
Cambios
lentos
Actualizaciones
rápidas
El Desafío
9
Máquinas
virtuales
Servidor Nube
pública
Recuperación de
desastre
Computador del
desarrollador
Cluster de servidores
Data Center
Sítio
estático
Web Front EndProcesamiento
por lotes
Usuarios de
base de datos
Análise de
base de
datos
Filas API
Endpoint
Development Test & QA Production Scale Out
• Paquetes con los binarios y sus dependencias
• Paquetes de software aislados unos de otros
• Container como formato patrón
• Fácil portabilidad entre entornos (GNU/Linux)
• Permite la estandarización del proceso de desarrollo
Solución: Containers Docker
10
Container
Solución
11
Static
Website
Web
Front End
Background
Workers
User DB
Analytics
DB
Queue
API
Endpoint
• Build una vez y ejecute donde queiras
• Un entorno de desarrollo portable, seguro y limpio para su aplicación
• No te preocupes con paquetes perdidos, dependencias y otros dolores durante implantaciones
adelante. Se ejecutó una vez, va ejecutar siempre
• Ejecute cada aplicación aislada en su container, asi puedes ejecutar varias versiones de librerías
y otras dependências para aplicaciones sin problemas.
• Pruebas automatizadas, integración, packaging, todo que puedes hacer usando un script.
• Reduce/Elimina preocupaciones con plataformas GNU/Linux distintas
• Barato y sin penalidad de performance para usar en sus ambientes. Reinicio inmediato de todo
entorno con la velocidad de inicio del servicio. Ese és el poder de Docker.
Vista del desarrollador
Vista de Sysadmin
•Configura una vez, ejecute en cualquier lugar
• Hace el ciclo de vida completo ser más eficiente, consistente e replicable
• Aumenta la calidad del código producido por los desarrolladores
• Elimina la inconsistência entre desarrollo, pruebas, producción y entornos del cliente
• Mejoras significativas con velocidad y confianza del continuous deployment (CD) e continuous
integration (CI).
• Container son más livianos, impactan significativamente en problemas de performance, custo,
implantación y portabilidad que normalmente son asociados a VMs.
Docker for Mac/Windows/Linux
Todo que necesitamos hoy estas en
este enlace :D
• tinyurl.com/install-docker-taller
14
Virtual Machines vs Containers
Camadas - Docker file system
Imágenes y Containers
Arquitectura
Comandos básicos
Comando Explicación
docker pull <nombre de la imagen> Descargar imagen
docker images Listar las imágenes locales
docker inspect <id imagem ou container> Inspeccionar informaciones
docker run <nome da imagem> Iniciar un container
docker ps Listas los containers en ejecución
docker exec <nome do container> <cmd> Ejecutar comandos en container
docker pull
Ejercicio
Descargar la imagen de Python
# docker pull python
docker images
Asegúrese de que existe la imagen Python localmente
# docker images
Ejercicio
docker inspect
Ejercicio
Asegure el comando patrón de la imagen
# docker inspect python
PS.: Asegúrese el valor de "CMD"
docker run <parámetros> <imagen> <CMD>
Parámetro Explicación
-d Ejecución en background
--name Dar nombre para el container
-m Limitar uso de memória RAM
-c Balancear uso de CPU
-p Port mapping
-v Volume mapping
-i Modo interactivo
-t Usar terminal
Ejercicio
Ejecute la imagen Python en modo interactivo y
accede shell
# docker run -it python
Restrición de memória
# docker run -m <memória> <imagen>
Ejercicio
Ejecute el container con apenas 300MB de limite
# docker run -it -m 300M python
Balanceamento de CPU
# docker run -c <peso> <imagen>
Valor base 1024
Ejercicio
Ejecute el container con mitad del peso
# docker run -it -c 512 python
Port mapping
# docker run -p puertahost:puertacontainer <imagen>
Docker host
Virtual Machine
Container
8080
80
192.168.99.100:80
Cliente
Ejercicio
Efectúe mapeamento de la puerta 80 para el
container da imagen tutum/apache-php
# docker run -it -p 80:80 tutum/apache-php
Accede la interface web
Port mapping
# docker run -v volumehost:volumecontainer <imagen>
Docker host
Virtualbox
Container
/Users/felipe/app
Cliente /Users
/app
Ejercicio
Efectúe mapeamento de su carpeta actual con la carpeta
/root del container python
# docker run -it -v $PWD:/root python /bin/bash
Crie un archivo en la carpeta /root del container, despues
salia del container y verifique se este archivo está en el
host
docker volumes <parámetros>
Parámetro Explicación
Create --name <nombre> Crea un volume
Inspect <nombre> Inspeccionar el volume
ls Lista los volumes existentes
rm Remove el volume
Crea un volume y efectúe mapeamento con a
carpeta /root del container python
# docker volume create --name test
# docker run -it -v test:/root python /bin/bash
Crea un archivo en la carpeta /root del container,
despues saia del container, crea un otro
container con el mismo volume y asegure que el
archivo existe
# docker run -it -v teste:/root alpine /bin/sh
Ejercicio
docker ps <parámetros>
Parámetro Explicación
-a Lista todos los containers, inclusive los desligados
-l Lista los últimos containers, inclusive los desligados
-n Lista los últimos N containers, inclusive los desligados
-q Lista apenas los ids de los containers
Ejercicio
Verifique los containers estan en ejecución en el
momiento
# docker ps
Outros comandos
docker Explicación
stop <id do container> Desliga el container en ejecución
start <id do container> Inicia el mismo container que estaba finalizado
logs -f <id do container> Verifica la salida patrón del container
attach <id do container> Conecta a el proceso que está ejecutando
Ejercicio
Vamos probar cada comando
# docker run -itd --name testepython python
# docker stop testepython
# docker start testepython
# docker logs -f testepython
# docker attach testepython
docker exec <parámetros>
Parâmetro Explicación
-i Modo interactivo
-t Con terminal
Ejercicio
Vamos iniciar un container en background y
enviar comandos
# docker run -itd --name testealpine alpine /bin/sh
# docker exec -it testealpine ls /etc
Dockerfile
Dockerfile
És el documento que contiene todos los
comandos que el usuário necesita para crear y
ejecutar el container, pero podría escribir en
terminal
És una descripción de pasos para crear la imagen
Dockerfile
Instrucciones Explicación
FROM <imagen> Imagen base
MAINTAINER <Autor> Nombre del mantenedor de la imagen
COPY <SRC> <DST> Copia el archivo para dentro del container
RUN <comando> Ejecutar un determinado comando dentro del container
CMD <proceso> CMD patrón caso nada seja definido en el "docker run"
ENV <Variable><Valor> Especificar variable del ambiente para el container
USER <usuário> El usuário que será usado para ejecutar los comandos
WORKDIR <carpeta> Cual la pasta de trabajo (cd <carpeta>)
Dockerfile
El archivo es analizado de arriba para bajo, la
orden es importante para usar bien el cache de
Docker en este documento!
FROM python:2.7
COPY . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python app.py
Hacendo el build
# mkdir imagem
# cd imagem
# vi Dockerfile
# docker build -t=<nombre de la imagen> .
PS.: Te recuerde en el nombre de la imagen, poner
ele nombre de usuário antes. Ejemplo:
felipedemorais/python (mi usuário és felipedemorais).
Enviando para nuvem
# docker login
# docker push <nombre de la imagen>
PS.: Te recuerde en el nombre de la imagen, poner
ele nombre de usuário antes. Ejemplo:
felipedemorais/python (mi usuário és felipedemorais).
Ejercicio
1)Elige una imagen para extenderse
2)Crea un Dockerfile con sus modificaciones
3)Haca el build de la imagen
4)Envie para la nube
Preguntas?
felipejpa15@gmail.com
@felipedemorais_
Agradecimentos a @gomex.

Más contenido relacionado

La actualidad más candente

GitOps and ArgoCD
GitOps and ArgoCDGitOps and ArgoCD
GitOps and ArgoCDOmar Fathy
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2Docker, Inc.
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveLINE Corporation
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Edureka!
 
Kubernetes Helm: Why It Matters
Kubernetes Helm: Why It MattersKubernetes Helm: Why It Matters
Kubernetes Helm: Why It MattersPlatform9
 
Rancher Rodeo
Rancher RodeoRancher Rodeo
Rancher RodeoSUSE
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefitsAmit Manwade
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes waysparkfabrik
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideBytemark
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Prometheus on NKS
Prometheus on NKSPrometheus on NKS
Prometheus on NKSJo Hoon
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersYajushi Srivastava
 

La actualidad más candente (20)

Automation CICD
Automation CICDAutomation CICD
Automation CICD
 
GitOps and ArgoCD
GitOps and ArgoCDGitOps and ArgoCD
GitOps and ArgoCD
 
DevOps
DevOps DevOps
DevOps
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
 
Helm.pptx
Helm.pptxHelm.pptx
Helm.pptx
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
 
Kubernetes Helm: Why It Matters
Kubernetes Helm: Why It MattersKubernetes Helm: Why It Matters
Kubernetes Helm: Why It Matters
 
Rancher Rodeo
Rancher RodeoRancher Rodeo
Rancher Rodeo
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Prometheus on NKS
Prometheus on NKSPrometheus on NKS
Prometheus on NKS
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 

Similar a Taller docker _es-cl

Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineMario IC
 
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 2018Vicente Gerardo Guzman Lucio
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020BelnGonzlezGarca1
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacionStivenLopez46
 
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
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetesjdezine
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
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 URJCMicael Gallego
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJCMicael Gallego
 
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.
 
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
 

Similar a Taller docker _es-cl (20)

Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - Engine
 
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
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacion
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
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
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
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
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
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
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
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
 
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]
 

Último

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

Taller docker _es-cl

  • 3. 3 Proyecto Open source • 2MM+ Imágenes descargadas • 2000+ Contribuyentes • 40K+ Estrellas en GitHub • 200K+ App Dockerizadas • 240 Meetups en más de 70 países • 95K Miembros de Meetup ¿Qué es Docker? Comunidad Docker Docker Inc Proveedor de contenedores como un servicio • Plataforma de Integración para desarrolladores y operaciones • Soporte técnico Patrocinador del proyecto Docker • Principal patrocinador del proyecto Docker • Apoya a mantenedores del proyecto
  • 4. Ecosistema Docker Dev Tools Official Repositories Operating Systems Big Data Service Discovery Build / Continuous Integration Configuration Management Consulting &Training Management Storage Clustering & Scheduling Networking Infrastructure & Service Providers Storage Security Monitoring & Logging 4
  • 5. Quién soy yo Felipe de Morais: ● Carioca da gema ● Enamorado por comunidades ● Consultor en Thoughtworks ● Site: felipedemorais.com.br ● Medium: medium.com/@felipedemoraes ● Twitter: felipedemorais_ ● Github: lipemorais
  • 6. Quién soy yo Felipe de Morais: ● Carioca da gema ● Enamorado por las comunidades ● Consultor en Thoughtworks ● Site: felipedemorais.com.br ● Medium: medium.com/@felipedemoraes ● Twitter: felipedemorais_ ● Github: lipemorais
  • 7. Básico de Docker Docker Image La base de un container Docker Docker Container Es una unidad estándar en la cual reside el servicio de una aplicación Docker Engine Crea, encapsula y ejecuta los containers Docker que se pueden usar en el entorno físico o virtual, en los datacenters o cloud services. Docker Registry És un proyecto para compartir imágenes Docker. El más famoso es https://hub.docker.com/
  • 8. Las aplicaciones están cambiando 8 Servicios con acoplamiento pequeño Muchos servidores pequeños ~2000 Hoy Monolitos Grandes servidores Cambios lentos Actualizaciones rápidas
  • 9. El Desafío 9 Máquinas virtuales Servidor Nube pública Recuperación de desastre Computador del desarrollador Cluster de servidores Data Center Sítio estático Web Front EndProcesamiento por lotes Usuarios de base de datos Análise de base de datos Filas API Endpoint Development Test & QA Production Scale Out
  • 10. • Paquetes con los binarios y sus dependencias • Paquetes de software aislados unos de otros • Container como formato patrón • Fácil portabilidad entre entornos (GNU/Linux) • Permite la estandarización del proceso de desarrollo Solución: Containers Docker 10 Container
  • 12. • Build una vez y ejecute donde queiras • Un entorno de desarrollo portable, seguro y limpio para su aplicación • No te preocupes con paquetes perdidos, dependencias y otros dolores durante implantaciones adelante. Se ejecutó una vez, va ejecutar siempre • Ejecute cada aplicación aislada en su container, asi puedes ejecutar varias versiones de librerías y otras dependências para aplicaciones sin problemas. • Pruebas automatizadas, integración, packaging, todo que puedes hacer usando un script. • Reduce/Elimina preocupaciones con plataformas GNU/Linux distintas • Barato y sin penalidad de performance para usar en sus ambientes. Reinicio inmediato de todo entorno con la velocidad de inicio del servicio. Ese és el poder de Docker. Vista del desarrollador
  • 13. Vista de Sysadmin •Configura una vez, ejecute en cualquier lugar • Hace el ciclo de vida completo ser más eficiente, consistente e replicable • Aumenta la calidad del código producido por los desarrolladores • Elimina la inconsistência entre desarrollo, pruebas, producción y entornos del cliente • Mejoras significativas con velocidad y confianza del continuous deployment (CD) e continuous integration (CI). • Container son más livianos, impactan significativamente en problemas de performance, custo, implantación y portabilidad que normalmente son asociados a VMs.
  • 14. Docker for Mac/Windows/Linux Todo que necesitamos hoy estas en este enlace :D • tinyurl.com/install-docker-taller 14
  • 15. Virtual Machines vs Containers
  • 16. Camadas - Docker file system
  • 19. Comandos básicos Comando Explicación docker pull <nombre de la imagen> Descargar imagen docker images Listar las imágenes locales docker inspect <id imagem ou container> Inspeccionar informaciones docker run <nome da imagem> Iniciar un container docker ps Listas los containers en ejecución docker exec <nome do container> <cmd> Ejecutar comandos en container
  • 21. Ejercicio Descargar la imagen de Python # docker pull python
  • 23. Asegúrese de que existe la imagen Python localmente # docker images Ejercicio
  • 25. Ejercicio Asegure el comando patrón de la imagen # docker inspect python PS.: Asegúrese el valor de "CMD"
  • 26. docker run <parámetros> <imagen> <CMD> Parámetro Explicación -d Ejecución en background --name Dar nombre para el container -m Limitar uso de memória RAM -c Balancear uso de CPU -p Port mapping -v Volume mapping -i Modo interactivo -t Usar terminal
  • 27. Ejercicio Ejecute la imagen Python en modo interactivo y accede shell # docker run -it python
  • 28. Restrición de memória # docker run -m <memória> <imagen>
  • 29. Ejercicio Ejecute el container con apenas 300MB de limite # docker run -it -m 300M python
  • 30. Balanceamento de CPU # docker run -c <peso> <imagen> Valor base 1024
  • 31. Ejercicio Ejecute el container con mitad del peso # docker run -it -c 512 python
  • 32. Port mapping # docker run -p puertahost:puertacontainer <imagen> Docker host Virtual Machine Container 8080 80 192.168.99.100:80 Cliente
  • 33. Ejercicio Efectúe mapeamento de la puerta 80 para el container da imagen tutum/apache-php # docker run -it -p 80:80 tutum/apache-php Accede la interface web
  • 34. Port mapping # docker run -v volumehost:volumecontainer <imagen> Docker host Virtualbox Container /Users/felipe/app Cliente /Users /app
  • 35. Ejercicio Efectúe mapeamento de su carpeta actual con la carpeta /root del container python # docker run -it -v $PWD:/root python /bin/bash Crie un archivo en la carpeta /root del container, despues salia del container y verifique se este archivo está en el host
  • 36. docker volumes <parámetros> Parámetro Explicación Create --name <nombre> Crea un volume Inspect <nombre> Inspeccionar el volume ls Lista los volumes existentes rm Remove el volume
  • 37. Crea un volume y efectúe mapeamento con a carpeta /root del container python # docker volume create --name test # docker run -it -v test:/root python /bin/bash Crea un archivo en la carpeta /root del container, despues saia del container, crea un otro container con el mismo volume y asegure que el archivo existe # docker run -it -v teste:/root alpine /bin/sh Ejercicio
  • 38. docker ps <parámetros> Parámetro Explicación -a Lista todos los containers, inclusive los desligados -l Lista los últimos containers, inclusive los desligados -n Lista los últimos N containers, inclusive los desligados -q Lista apenas los ids de los containers
  • 39. Ejercicio Verifique los containers estan en ejecución en el momiento # docker ps
  • 40. Outros comandos docker Explicación stop <id do container> Desliga el container en ejecución start <id do container> Inicia el mismo container que estaba finalizado logs -f <id do container> Verifica la salida patrón del container attach <id do container> Conecta a el proceso que está ejecutando
  • 41. Ejercicio Vamos probar cada comando # docker run -itd --name testepython python # docker stop testepython # docker start testepython # docker logs -f testepython # docker attach testepython
  • 42. docker exec <parámetros> Parâmetro Explicación -i Modo interactivo -t Con terminal
  • 43. Ejercicio Vamos iniciar un container en background y enviar comandos # docker run -itd --name testealpine alpine /bin/sh # docker exec -it testealpine ls /etc
  • 45. Dockerfile És el documento que contiene todos los comandos que el usuário necesita para crear y ejecutar el container, pero podría escribir en terminal És una descripción de pasos para crear la imagen
  • 46. Dockerfile Instrucciones Explicación FROM <imagen> Imagen base MAINTAINER <Autor> Nombre del mantenedor de la imagen COPY <SRC> <DST> Copia el archivo para dentro del container RUN <comando> Ejecutar un determinado comando dentro del container CMD <proceso> CMD patrón caso nada seja definido en el "docker run" ENV <Variable><Valor> Especificar variable del ambiente para el container USER <usuário> El usuário que será usado para ejecutar los comandos WORKDIR <carpeta> Cual la pasta de trabajo (cd <carpeta>)
  • 47. Dockerfile El archivo es analizado de arriba para bajo, la orden es importante para usar bien el cache de Docker en este documento! FROM python:2.7 COPY . /code WORKDIR /code RUN pip install -r requirements.txt CMD python app.py
  • 48. Hacendo el build # mkdir imagem # cd imagem # vi Dockerfile # docker build -t=<nombre de la imagen> . PS.: Te recuerde en el nombre de la imagen, poner ele nombre de usuário antes. Ejemplo: felipedemorais/python (mi usuário és felipedemorais).
  • 49. Enviando para nuvem # docker login # docker push <nombre de la imagen> PS.: Te recuerde en el nombre de la imagen, poner ele nombre de usuário antes. Ejemplo: felipedemorais/python (mi usuário és felipedemorais).
  • 50. Ejercicio 1)Elige una imagen para extenderse 2)Crea un Dockerfile con sus modificaciones 3)Haca el build de la imagen 4)Envie para la nube