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 101
Search
Alexandre González
December 17, 2015
Technology
230
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker 101
Slides of the talk given at jobandtalent.com
Alexandre González
December 17, 2015
More Decks by Alexandre González
See All by Alexandre González
Building an Enterprise-Ready Lambda Experience
agonzalezro
0
120
Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)
agonzalezro
0
450
From source code to Kubernetes, a Continuous Deployment tale
agonzalezro
0
140
From pets to cattle, the way of Kubernetes
agonzalezro
2
660
Python, Kubernetes & friends
agonzalezro
0
490
Kubernetes 101
agonzalezro
0
690
Custom Volume Plugins
agonzalezro
1
1.3k
Go 101 updated
agonzalezro
0
860
Kubernetes Volume Plugins: Flocker
agonzalezro
2
800
Other Decks in Technology
See All in Technology
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
260
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
110
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
510
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
0
260
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
410
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
120
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
160
Futexes the good, the bad, the ugly
ennael
PRO
0
130
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
520
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
エンジニアに許された特別な時間の終わり
watany
109
250k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
We Are The Robots
honzajavorek
0
390
From π to Pie charts
rasagy
1
390
Scaling GitHub
holman
464
140k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
460
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
730
Transcript
Docker 101
What is Docker?
Why is it different?
VM model vs Docker model
Pros
• Rapid app deployment • Portability • Version control •
Lightweight • Inmutable • ...
Cons
• New tooling needed • Addoption • Orchestration • <-
putYourOwn
Hands on!
docker-machine $ docker-machine create --driver virtualbox jt $ eval $(docker-machine
env jt)
docker run $ docker run -it ubuntu d9f46b212a12fba0091f0f...
docker images vs docker ps $ docker images REPOSITORY TAG
IMAGE ID CREATED VIRTUAL SIZE ubuntu latest d55e68e6cc9c 5 days ago 187.9 MB $ docker ps CONTAINER ID IMAGE COMMAND CREATED... 12fba0091f0f ubuntu "sleep 10s" 2 seconds ago... c8e8b387fba7 ubuntu "yes" 2 seconds ago...
docker logs $ docker run -d ubuntu find / db943d94d68011757ffad50a94727ec0fda1a70245f1b6c09f46...
$ docker logs db943d94d68011757ff1b6c09f46... | head -n4 / /.dockerinit /etc /etc/resolv.conf
registry
docker pull $ docker pull ubuntu Using default tag: latest
latest: Pulling from library/ubuntu 9377ad319b00: Pull complete a82f81f25750: Pull complete b207c06aba70: Pull complete d55e68e6cc9c: Pull complete library/ubuntu:latest: The image you are pulling has... Digest: sha256:a2b67b6107aa6b1a387e75eebafd7c...
docker push $ docker tag d55e68e6cc9c agonzalezro/jt $ docker push
agonzalezro/jt The push refers to a repository [docker.io/agonzalezro/jt] (len: 1) d55e68e6cc9c: Image successfully pushed b207c06aba70: Image successfully pushed a82f81f25750: Image successfully pushed 9377ad319b00: Image successfully pushed latest: digest: sha256:b385f1dfb6fcda517d1... size: 7739
extra cmds
$ docker stop $ docker pause $ docker unpause $
docker start $ docker rm $ docker rmi ... AKA RTM
Dockerfiles
Dockerfile FROM debian:stable RUN apt-get update && apt-get install -y
--force-yes apache2 EXPOSE 80 443 VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2"] ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
What to do next? $ docker build -t agonzalezro/jt .
$ docker push agonzalezro/jt
Compose
docker-compose.yml db: image: postgres ports: - “5432” companies: links: -db
web_core: build: ../web_core command: bundle exec rails s -p 3000 -b ‘0.0.0.0’ ports: - ”3000:3000”
Hassle “free”
Thanks!