Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker para principiantes
Search
Yamil Urbina
November 07, 2015
Education
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker para principiantes
Cómo se puede usar Docker en un ambiente de desarrollo?
Yamil Urbina
November 07, 2015
More Decks by Yamil Urbina
See All by Yamil Urbina
Tu N*tfl*x rebelde en Raspberry Pi
yamilurbina
1
73
Deutsche Präsentation
yamilurbina
0
56
DevOps como cultura
yamilurbina
0
57
DevOps Introduction
yamilurbina
0
110
DevOps + Agile
yamilurbina
0
82
Docker El Alto - UPEA
yamilurbina
0
80
Docker Nights 7: Amazon EC2 Container Service
yamilurbina
0
64
DevOps: Conceptos y Aplicaciones
yamilurbina
0
140
The infrastructure of IoT
yamilurbina
0
56
Other Decks in Education
See All in Education
Examen de Selectividad. Geografía junio 2026 (Convocatoria Ordinaria). UCLM
juanmartin2026
1
6.5k
新しいJavaを学んで・使っていこう! / osd26do
gishi_yama
0
250
良書紹介08_ 頭のいい子がやっているすごいグラフの読み方
bunnchinn3
0
160
Throw Yourself In! - How I've learned English and What I'm Facing
georgeorge
1
260
医師がスタッフに AI を教えるとき、どんな内容を話しているか
osawaux
1
120
Visionary Initiative: Future Intelligence — Laying the foundations for the future of science, intelligence, and society | Science Tokyo
sciencetokyo
PRO
0
290
The Strengthening Institutions Program
territorium
PRO
0
160
Πλουτοκρατία: Η Τυραννία του Μαμμωνά και η Μεταανθρώπινη Δουλεία
amethyst1
0
310
AWS Skill Builderを活用した一石二鳥の業務計画
ysaeki
0
140
[2026前期火5] 論理学(京都大学文学部 前期 第5回)「 ならばの問題演習・proof net・かつの規則」
yatabe
0
420
Réunion des directrices et directeurs des écoles de la circonscription de Jonzac - 31 août 2026
fmarot
0
110
CLASSIFICATION OF CRUDE DRUGS
pawan5505
0
160
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Scaling GitHub
holman
464
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
WCS-LA-2024
lcolladotor
0
820
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
DOCKER para principiantes
@yamilurbina DevOps en Mojix Coderoad
BIGGS Desarrollador Web
Primer día en RED SQUADRON una aplicación web
“Clona el proyecto. Necesitas git.” Project Manager
OK!
“También PHP, MySQL y Apache” Project Manager
SEGURO!
“y NodeJS con Bower para el frontend” Project Manager
OK…
“copia y usa la configuración del servidor de pruebas” Project
Manager
NO FUNCIONA
“Es que instalaste PHP 5.4. Usa PHP 5.5” Project Manager
OMG.
La infraestructura no es la aplicación Problema #1
• Servidor • Servicios • Versiones • Configuraciones
None
None
La repetición es una barrera para la productividad Problema #2
1. Instalar 2. Configurar 3. Corregir 4. Repetir 1-4
Los ambientes de desarrollo son inconsistentes Problema #3
• Windows y/o Linux • Obviar versiones • Obviar configuraciones
Producción == Desarrollo
LLEVAR CÓDIGO AL SERVIDOR ES DIFÍCIL
EN LINUX, WINDOWS Y PRODUCCIÓN
La infraestructura no es la aplicación Problema #1
La infraestructura se separa de la aplicación Solución #1
La repetición es una barrera para la productividad Problema #2
La productividad se aumenta automatizando lo repetitivo Solución #2
Los ambientes de desarrollo son inconsistentes Problema #3
Todos los ambientes son idénticos Solución #3
¿Cómo?
“Usemos máquinas virtuales” Project Manager
None
None
• Tamaño en GBs • Un OS entero? • Necesita
RAM • Cómo se distribuye?
SON MUCHOS PROBLEMAS.
USEMOS DOCKER
Docker
Docker es un motor de código abierto que automatiza el
manejo de cualquier aplicación…
…usando contenedores portables, livianos y auto suficientes que correrá virtualmente
en cualquier lugar.
•Usa contenedores •Es portable •Es auto suficiente •Corre en cualquier
lugar
Contenedores
None
• Estándar • Repetible • Desechable
None
None
• Estándar • Configurable • Repetible • Desechable
• Más liviano que virtualizar un OS • Un contenedor
provee un servicio • Se pueden enlazar varios contenedores • Los contenedores son reusables • Existe control de versiones
INSTALEMOS DOCKER
docker.com
• Docker Host (Linux) • Docker client (Cross-platform) • Usa
VirtualBox para cualquier OS • Para Windows, Linux y OS X
hub.docker.com
66MB!
CORRIENDO CONTENEDORES
docker run ubuntu Unable to find image 'ubuntu:latest' locally 3857f5237e43:
Pull complete Status: Downloaded newer image for ubuntu:latest
docker run ubuntu Unable to find image 'ubuntu:latest' locally 3857f5237e43:
Pull complete Status: Downloaded newer image for ubuntu:latest
docker run ubuntu Unable to find image 'ubuntu:latest' locally 3857f5237e43:
Pull complete Status: Downloaded newer image for ubuntu:latest
docker run ubuntu Unable to find image 'ubuntu:latest' locally 3857f5237e43:
Pull complete Status: Downloaded newer image for ubuntu:latest
/# apt-get update
/# apt-get install apache2 php5-mysql php5 mysql-server
/# exit
DISTRIBUCIÓN
docker commit $ID usuario/repo docker push usuario/repo
docker pull usuario/repo docker run usuario/repo
/# service apache2 start
FÁCIL
•Los contenedores proveen servicios •El tamaño es variable
• docs.docker.com • boot2docker.io • hub.docker.com/u/yamilurbina Recursos
Preguntas?