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
0
240
Docker para principiantes
Cómo se puede usar Docker en un ambiente de desarrollo?
Yamil Urbina
November 07, 2015
Tweet
Share
More Decks by Yamil Urbina
See All by Yamil Urbina
Tu N*tfl*x rebelde en Raspberry Pi
yamilurbina
1
54
Deutsche Präsentation
yamilurbina
0
44
DevOps como cultura
yamilurbina
0
40
DevOps Introduction
yamilurbina
0
97
DevOps + Agile
yamilurbina
0
72
Docker El Alto - UPEA
yamilurbina
0
53
Docker Nights 7: Amazon EC2 Container Service
yamilurbina
0
52
DevOps: Conceptos y Aplicaciones
yamilurbina
0
130
The infrastructure of IoT
yamilurbina
0
42
Other Decks in Education
See All in Education
ロータリー国際大会について~国際大会に参加しよう~:古賀 真由美 会員(2720 Japan O.K. ロータリーEクラブ・(有)誠邦産業 取締役)
2720japanoke
1
770
国際卓越研究大学計画|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
47k
20251119 如果是勇者欣美爾的話, 他會怎麼做? 東海資工
pichuang
0
170
Padlet opetuksessa
matleenalaakso
10
15k
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
✅ レポート採点基準 / How Your Reports Are Assessed
yasslab
PRO
0
280
AIは若者の成長機会を奪うのか?
frievea
0
180
Web Search and SEO - Lecture 10 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
コマンドラインを見直そう(1995年からタイムリープ)
sapi_kawahara
0
660
LotusScript でエージェント情報を出力してみた
harunakano
0
120
焦りと不安を、技術力に変える方法 - 新卒iOSエンジニアの失敗談と成長のフレームワーク
hypebeans
1
650
Activité_5_-_Les_indicateurs_du_climat_global.pdf
bernhardsvt
0
140
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Being A Developer After 40
akosma
91
590k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Ethics towards AI in product and experience design
skipperchong
2
200
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
51
Designing Experiences People Love
moore
144
24k
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?