Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
81
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
aini school小中等部説明会資料
ainischool
0
130
20260908_ターゲットとスコープを決める発表法
masakiokuda
1
120
遊ぶかね欲しさの犯行(ルビ:労働)です
shirayanagiryuji
0
290
Carbohydrates: Classification, Structure & Chemical Properties
pawan_pharm
0
300
AIがコードを書く時代に、何を教えるのか / What Should We Teach in the Age of AI-Generated Code?
ichiroc
1
570
General Introduction, Composition, Chemistry & Chemical Classes, Biosources, Therapeutic uses and Commercial Application of Secondary Metabolites.
drpoonamkc
0
140
AIってなぁに?
kenichiota0711
0
850
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
19k
One Year of Learning English with AI @エンジニア英語キャリア Meetup #3
kekekenta
0
250
Introduction to Accounting
bvr7352
0
240
25-26 CBT Library top items
cbtlibrary
0
310
Examen de Selectividad. Geografía julio 2026 (Convocatoria Extraordinaria). UCLM
juanmartin2026
1
14k
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Speed Design
sergeychernyshev
33
2.1k
Unsuck your backbone
ammeep
672
58k
Ethics towards AI in product and experience design
skipperchong
2
400
How STYLIGHT went responsive
nonsquared
100
6.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
450
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Rails Girls Zürich Keynote
gr2m
96
14k
Automating Front-end Workflow
addyosmani
1369
210k
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?