SlideShare una empresa de Scribd logo
1 de 9
Docker
Linux Containers for Dummies
Gustavo Muslera
Abril 2014
Problemas con enfoques actuales
VMs
● Uso ineficiente de memoria/disco/cpu
● Compartimentar aplicaciones=más VMs
● Caches vs overcommiting
● Desarrollo+Testing+Producción=3 VMs
Dedicadas
● Conflictos librerías/dependencias aplicaciones
● Seguridad de máquina=seguridad aplicación
más vulnerable
● Aplicaciones dependientes de distribución
● Rearmado de entorno
Contenedores
• "chroot en esteroides"
• Aislación del sistema (propia
red/procesos/usuarios/fs)
• cgroups para limitar uso (cpu/red/disco/etc)
• Pueden usarse para levantar aplicaciones
individuales
Implementaciones:
• En linux: openvz, vserver, lmctfy, lxc
• Otros SO tienen conceptos similares: BSD
Jails, Solaris Zones
Docker= containers + UnionFS +
administración + extras
• Linux 3.8+ x86_64
• AUFS, Device Mapper, btrfs
• LXC (libcontainer desde 0.9+)
Distribuciones: Ubuntu, Redhat, Suse, Debian, etc
Cloud: AWS, Google App Engine, Linode, Rackspace, OpenStack, etc
Aplicaciones: Puppet, Chef, Ansible, Vagrant, etc
Docker: Requerimientos
Ejemplo de sesión manual
# docker pull ubuntu:12.10
# docker run -i -t base /bin/bash
root@15c0db264611:/# apt-get install memcached
root@15c0db264611:/# exit
# docker ps -a
ID IMAGE COMMAND CREATED STATUS PORTS
7717ce712162 base:latest /bin/bash 2 minutes ago Exit 0
# docker commit 7717ce712162 test/mcached
# docker run -d -p 11211 test/mcached memcached -u daemon
# docker ps
ID IMAGE COMMAND CREATED STATUS PORTS
66a2cbdda35d test/mcached:latest memcached -u daemon 3 minutes ago Up 3 minutes 49153->11211
Docker builder
# Dockerfile para nginx + php-fpm
FROM ubuntu:12.10
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" >
/etc/apt/sources.list.d/precise.list && apt-get update
RUN apt-get install -y nginx php5-fpm php5-pgsql php5-curl php5-json php-apc
RUN echo "cgi.fix_pathinfo = 0;" >> /etc/php5/fpm/php.ini
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD ./nginx-site.conf /etc/nginx/sites-available/default
EXPOSE 80
CMD service php5-fpm start && nginx
docker build nginxphp/ (subdirectorio con archivo Dockerfile + extras)
Va a ejecutar paso por paso el script, y tirar a consola el id de la imagen generada, similar a receta
de puppet o vagrant
docker run -d -p 8080:80 -v=/sitios/nginxphp-www:/usr/share/nginx/www nginxphp
Que paso en el disco?
ubuntu:12.10
7717ce712162
test/mcached
66a2cbdda35d
docker pull ubuntu:12.10
apt-get install memcached
docker run ...
Contenedores creados con
diferenciales
fbc9c18e0ac8
aff8363240b1 apt-get install nginx
docker run -v ...
ed464b61c53d
docker run -v ...
27d06e9d3eea
vi nginx.conf
Repositorio central
• Almacen de imágenes ya hechas, base, ubuntu, centos,
logstash, mongodb, etc
• Motor de busqueda en http://index.docker.io
• comandos docker pull imágenes, login para
autenticación y push de imagenes, search para buscar
• APIs varias
• Se pueden tener repositorios internos con imágenes
privadas
Administración avanzada
• Remote API: Escucha por defecto en puerto 4243,
invocaciones tipo POST /images/(nombre)/comando, con
librerías existentes para python, ruby, js, java, php, go
• Varias WebUI simples, p/ej DockerUI
• Integración con OpenStack. Empezó siendo driver de
Nova pero para la siguiente versión lo es de Heat, el
orquestador de servicios
• Integración con OpenShift, Atomic de RedHat
• Flynn,Deis,Shipyard,CoreOS,Dokku, y muchos otros

Más contenido relacionado

La actualidad más candente

Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
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 usoSergio Zambrano Delfa
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlimaAngel Nuñez
 
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
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopRestorando
 
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
 
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
 
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 NodeJSJan Sanchez
 
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
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoRestorando
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladoressergiovier
 
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Adrian Garcia Casas
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core osDavid Luque Quintana
 
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 HelmMario IC
 

La actualidad más candente (20)

Conceptos avanzados en docker
Conceptos avanzados en dockerConceptos avanzados en docker
Conceptos avanzados en docker
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
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
 
Kubernetes - #dockerconlima
Kubernetes  - #dockerconlimaKubernetes  - #dockerconlima
Kubernetes - #dockerconlima
 
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
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
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...
 
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...
 
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
 
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 meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladores
 
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core os
 
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
 

Similar a Docker 2014 v2

El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfectobetabeers
 
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
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a AnsibleOsvaldo
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020BelnGonzlezGarca1
 
Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Loquenecesito,com
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónLuis Ruiz Pavón
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfigAprende Viendo
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containersJulioMontes23
 
Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineMario IC
 
Monousuarios y multiusuarios
Monousuarios y multiusuariosMonousuarios y multiusuarios
Monousuarios y multiusuariosjuliananena
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4David Ramirez
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerceDavid Ramirez
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 
Como instalar unix erazo gloria
Como instalar unix erazo gloriaComo instalar unix erazo gloria
Como instalar unix erazo gloriaErazoGloria16
 

Similar a Docker 2014 v2 (20)

El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Virtualización con Xen
Virtualización con XenVirtualización con Xen
Virtualización con Xen
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containers
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - Engine
 
Bulma 441
Bulma 441Bulma 441
Bulma 441
 
Monousuarios y multiusuarios
Monousuarios y multiusuariosMonousuarios y multiusuarios
Monousuarios y multiusuarios
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerce
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Ambar galeas
Ambar galeasAmbar galeas
Ambar galeas
 
Como instalar unix erazo gloria
Como instalar unix erazo gloriaComo instalar unix erazo gloria
Como instalar unix erazo gloria
 

Último

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
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
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
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
 
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
 
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
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
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
 
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
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
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
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
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
 
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
 
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
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
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
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
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
 

Último (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
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
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
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
 
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
 
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
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.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
 
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.
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.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
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
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
 
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
 
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
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
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
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
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
 

Docker 2014 v2

  • 1. Docker Linux Containers for Dummies Gustavo Muslera Abril 2014
  • 2. Problemas con enfoques actuales VMs ● Uso ineficiente de memoria/disco/cpu ● Compartimentar aplicaciones=más VMs ● Caches vs overcommiting ● Desarrollo+Testing+Producción=3 VMs Dedicadas ● Conflictos librerías/dependencias aplicaciones ● Seguridad de máquina=seguridad aplicación más vulnerable ● Aplicaciones dependientes de distribución ● Rearmado de entorno
  • 3. Contenedores • "chroot en esteroides" • Aislación del sistema (propia red/procesos/usuarios/fs) • cgroups para limitar uso (cpu/red/disco/etc) • Pueden usarse para levantar aplicaciones individuales Implementaciones: • En linux: openvz, vserver, lmctfy, lxc • Otros SO tienen conceptos similares: BSD Jails, Solaris Zones Docker= containers + UnionFS + administración + extras
  • 4. • Linux 3.8+ x86_64 • AUFS, Device Mapper, btrfs • LXC (libcontainer desde 0.9+) Distribuciones: Ubuntu, Redhat, Suse, Debian, etc Cloud: AWS, Google App Engine, Linode, Rackspace, OpenStack, etc Aplicaciones: Puppet, Chef, Ansible, Vagrant, etc Docker: Requerimientos
  • 5. Ejemplo de sesión manual # docker pull ubuntu:12.10 # docker run -i -t base /bin/bash root@15c0db264611:/# apt-get install memcached root@15c0db264611:/# exit # docker ps -a ID IMAGE COMMAND CREATED STATUS PORTS 7717ce712162 base:latest /bin/bash 2 minutes ago Exit 0 # docker commit 7717ce712162 test/mcached # docker run -d -p 11211 test/mcached memcached -u daemon # docker ps ID IMAGE COMMAND CREATED STATUS PORTS 66a2cbdda35d test/mcached:latest memcached -u daemon 3 minutes ago Up 3 minutes 49153->11211
  • 6. Docker builder # Dockerfile para nginx + php-fpm FROM ubuntu:12.10 RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list.d/precise.list && apt-get update RUN apt-get install -y nginx php5-fpm php5-pgsql php5-curl php5-json php-apc RUN echo "cgi.fix_pathinfo = 0;" >> /etc/php5/fpm/php.ini RUN echo "daemon off;" >> /etc/nginx/nginx.conf ADD ./nginx-site.conf /etc/nginx/sites-available/default EXPOSE 80 CMD service php5-fpm start && nginx docker build nginxphp/ (subdirectorio con archivo Dockerfile + extras) Va a ejecutar paso por paso el script, y tirar a consola el id de la imagen generada, similar a receta de puppet o vagrant docker run -d -p 8080:80 -v=/sitios/nginxphp-www:/usr/share/nginx/www nginxphp
  • 7. Que paso en el disco? ubuntu:12.10 7717ce712162 test/mcached 66a2cbdda35d docker pull ubuntu:12.10 apt-get install memcached docker run ... Contenedores creados con diferenciales fbc9c18e0ac8 aff8363240b1 apt-get install nginx docker run -v ... ed464b61c53d docker run -v ... 27d06e9d3eea vi nginx.conf
  • 8. Repositorio central • Almacen de imágenes ya hechas, base, ubuntu, centos, logstash, mongodb, etc • Motor de busqueda en http://index.docker.io • comandos docker pull imágenes, login para autenticación y push de imagenes, search para buscar • APIs varias • Se pueden tener repositorios internos con imágenes privadas
  • 9. Administración avanzada • Remote API: Escucha por defecto en puerto 4243, invocaciones tipo POST /images/(nombre)/comando, con librerías existentes para python, ruby, js, java, php, go • Varias WebUI simples, p/ej DockerUI • Integración con OpenStack. Empezó siendo driver de Nova pero para la siguiente versión lo es de Heat, el orquestador de servicios • Integración con OpenShift, Atomic de RedHat • Flynn,Deis,Shipyard,CoreOS,Dokku, y muchos otros