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
220
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
110
Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)
agonzalezro
0
440
From source code to Kubernetes, a Continuous Deployment tale
agonzalezro
0
120
From pets to cattle, the way of Kubernetes
agonzalezro
2
640
Python, Kubernetes & friends
agonzalezro
0
480
Kubernetes 101
agonzalezro
0
670
Custom Volume Plugins
agonzalezro
1
1.3k
Go 101 updated
agonzalezro
0
850
Kubernetes Volume Plugins: Flocker
agonzalezro
2
790
Other Decks in Technology
See All in Technology
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
890
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1k
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
3
800
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
15
5.8k
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
310
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
380
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
360
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
670
reFACToring
moznion
1
670
CloudWatchから始めるAWS監視
butadora
0
190
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
150
Git 研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
500
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
290
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
4 Signs Your Business is Dying
shpigford
187
22k
We Have a Design System, Now What?
morganepeng
55
8.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Building Adaptive Systems
keathley
44
3.1k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
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!