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
Tips for Building Lightweight Docker Images
Search
Kelly Andrews
July 21, 2017
Technology
64
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tips for Building Lightweight Docker Images
Kelly Andrews
July 21, 2017
More Decks by Kelly Andrews
See All by Kelly Andrews
Communications on Fire
kellyjandrews
0
130
Docker: Development to Production
kellyjandrews
0
53
Continuous Testing, Integration, and Deployment for JavaScript Projects
kellyjandrews
0
54
Serverless Concepts
kellyjandrews
1
210
Other Decks in Technology
See All in Technology
dbt in Microsoft Fabric
ryomaru0825
0
300
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
11
9k
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.7k
AIエージェントのためのデータ設計
daiz21
0
520
Cloudflare製品を活用した AIガバナンス実践入門 / AI governance with Cloudflare Service
delta_tech
1
120
VPCでもFloatingIPを使いたいんだ
y_kotani
1
130
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
130
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
380
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
2
830
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
490
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
490
RailsConf 2023
tenderlove
30
1.5k
Are puppies a ranking factor?
jonoalderson
2
3.8k
Site-Speed That Sticks
csswizardry
13
1.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
360
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The Pragmatic Product Professional
lauravandoore
37
7.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
Facilitating Awesome Meetings
lara
57
7.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
New Earth Scene 8
popppiees
3
2.5k
Transcript
@kellyjandrews Tips for Building Lightweight Docker Images Kelly J Andrews
- Developer Advocate, Codeship
@kellyjandrews Docker Images
@kellyjandrews Docker Images
@kellyjandrews Docker Images What is a docker image
@kellyjandrews Docker Images A Docker image is built up from
a series of layers. Each layer represents an instruction in the image’s Dockerfile. Each layer except the very last one is read-only. Source: docker.com
@kellyjandrews Docker Images FROM ubuntu:15.04 COPY . /app RUN make
/app CMD python /app/app.py
@kellyjandrews Docker Images Source: docker.com
@kellyjandrews Docker Images Source: docker.com
@kellyjandrews Smaller = Better
@kellyjandrews Smaller is Better Large Images = Longer Download Times
Node Latest - 84 sec. Wheezy - 63 sec. Slim - 13 sec. Alpine - 12 sec.
@kellyjandrews Smaller is Better Large Images = More Disk Space
Node Latest 667 MB Wheezy 522 MB Slim 226 MB Alpine 64.7 MB
@kellyjandrews Smaller is Better Large Images = Unused Programs Node
Latest - 786 Wheezy - 719 Slim - 496 Alpine - 329
@kellyjandrews Docker Dieting Tips
@kellyjandrews Docker Dieting Tips Best Practices for Building Minimal Docker
Images https://resources.codeship.com/ebooks
@kellyjandrews Docker Dieting Tips Use Fewer Layers RUN apt-get update
-y RUN apt-get install -y curl RUN apt-get install -y postgresql RUN apt-get install -y postgresql-client
@kellyjandrews Docker Dieting Tips Use Fewer Layers RUN apt-get update
-y && \ apt-get install -y curl postgresql postgresql-client
@kellyjandrews Docker Dieting Tips Clean Up After Yourself RUN apt-get
update -y && \ apt-get install -y curl postgresql postgresql-client && \ rm -rf /var/lib/apt/lists/*
@kellyjandrews Docker Dieting Tips Base Images Node Latest 667 MB
Wheezy 522 MB Slim 226 MB Alpine 64.7 MB
@kellyjandrews Docker Dieting Tips Optimize Dockerignore File root # ls
mycode tmp logs $ echo “tmp” >> .dockerignore $ echo “logs” >> .dockerignore
@kellyjandrews Docker Dieting Tips Jessie Frazelle github.com/jessfraz/dockerfiles