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 101
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Alexandre González
December 17, 2015
Technology
4
200
Docker 101
Slides of the talk given at jobandtalent.com
Alexandre González
December 17, 2015
Tweet
Share
More Decks by Alexandre González
See All by Alexandre González
Building an Enterprise-Ready Lambda Experience
agonzalezro
0
95
Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)
agonzalezro
0
420
From source code to Kubernetes, a Continuous Deployment tale
agonzalezro
0
110
From pets to cattle, the way of Kubernetes
agonzalezro
2
620
Python, Kubernetes & friends
agonzalezro
0
460
Kubernetes 101
agonzalezro
0
640
Custom Volume Plugins
agonzalezro
1
1.3k
Go 101 updated
agonzalezro
0
820
Kubernetes Volume Plugins: Flocker
agonzalezro
2
770
Other Decks in Technology
See All in Technology
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
4
2.6k
Regional_NAT_Gatewayについて_basicとの違い_試した内容スケールアウト_インについて_IPv6_dual_networkでの使い分けなど.pdf
cloudevcode
1
150
開発メンバーが語るFindy Conferenceの裏側とこれから
sontixyou
2
160
漸進的過負荷の原則
sansantech
PRO
3
390
フロントエンド開発者のための「厄払い」
optim
0
170
AI開発の落とし穴 〜馬には乗ってみよAIには添うてみよ〜
sansantech
PRO
9
4k
Data Intelligence on Lakehouse Paradigm
scotthsieh825
0
200
DatabricksホストモデルでAIコーディング環境を構築する
databricksjapan
0
150
ALB「証明書上限問題」からの脱却
nishiokashinji
0
250
ドキュメントからはじめる未来のソフトウェア
pkshadeck
4
1.5k
かわいい身体と声を持つ そういうものに私はなりたい
yoshimura_datam
0
500
AWS監視を「もっと楽する」ために
uechishingo
0
420
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
340
Raft: Consensus for Rubyists
vanstee
141
7.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
260
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
260
New Earth Scene 8
popppiees
1
1.4k
The Curious Case for Waylosing
cassininazir
0
220
WENDY [Excerpt]
tessaabrams
9
36k
First, design no harm
axbom
PRO
2
1.1k
Side Projects
sachag
455
43k
Writing Fast Ruby
sferik
630
62k
Bash Introduction
62gerente
615
210k
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!