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
Alexandre González
December 17, 2015
Technology
210
4
Share
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
110
Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)
agonzalezro
0
430
From source code to Kubernetes, a Continuous Deployment tale
agonzalezro
0
120
From pets to cattle, the way of Kubernetes
agonzalezro
2
630
Python, Kubernetes & friends
agonzalezro
0
470
Kubernetes 101
agonzalezro
0
650
Custom Volume Plugins
agonzalezro
1
1.3k
Go 101 updated
agonzalezro
0
830
Kubernetes Volume Plugins: Flocker
agonzalezro
2
780
Other Decks in Technology
See All in Technology
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
120
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
1.1k
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
630
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
630
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
310
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
380
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
180
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
540
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
350
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
440
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
560
Large-scale JavaScript Application Architecture
addyosmani
515
110k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Between Models and Reality
mayunak
4
320
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Thoughts on Productivity
jonyablonski
76
5.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Writing Fast Ruby
sferik
630
63k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
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!