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
Alpine Linux ノススメ
Search
y13i
October 12, 2016
Technology
7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Alpine Linux ノススメ
y13i
October 12, 2016
More Decks by y13i
See All by y13i
Alexa と Polly と私
y13i
0
620
AWS Advanced Users Meetup vol.2
y13i
0
260
2014-06-20 JAWS-UG Tokyo
y13i
0
700
JAWS-UG Nagano Kickoff Meeting
y13i
6
4.5k
Other Decks in Technology
See All in Technology
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
150
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.7k
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
370
実装だけじゃない! CCA-F取得エンジニアが教えるClaude Code開発プロセス活用術
diggymo
2
740
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
360
Type-safe IaC for Dart
coborinai
0
110
Kaggleで成長するために意識したこと
prgckwb
2
360
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
640
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.3k
SRE Next 2026 何でも屋からの脱却
bto
0
760
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
160
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Embracing the Ebb and Flow
colly
88
5.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
It's Worth the Effort
3n
188
29k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
630
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Site-Speed That Sticks
csswizardry
13
1.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
A Tale of Four Properties
chriscoyier
163
24k
Being A Developer After 40
akosma
91
590k
Designing for Performance
lara
611
70k
Transcript
ϊεεϝ ΞΠϨοτגࣜձࣾcloudpack ࢁޱ༩ྗ @ Web Tech Tokyo #1ʢDocker Tips ڞ༗ձʣ
2016-10-12
୭ʁ • ໊લ: ࢁޱ ༩ྗʢ·͙ͪ ΑΓ͖ʣ • ۈઌ: ΞΠϨοτגࣜձࣾ cloudpackࣄۀ෦
• ͖ͳݴޠ: Ruby, JavaScript • URL: https://y13i.com/
Alpine Linux ͬͯʁ • ܰྔ Linux • ίϯςφʔ༻ OS ͱͯ͠
Docker ͱ૬ੑ͕ྑ͘ɺ࠷ۙ Α͘ར༻͞Ε͍ͯΔ • BusyBox ͕ϕʔεʹͳ͍ͬͯΔ • γΣϧ ash • ύοέʔδཧ apk
͍ܰʂ Image Size Ubuntu 127.1 MB CentOS 196.8 MB Alpine
4.8 MB BusyBox 1.1 MB
ͲΕ͘Β͍͍ܰͷ͔ʁ • `docker pull` ͯ͠ hello world ͢Δ·Ͱ͔͔Δ࣌ؒΛܭ ଌͯ͠Έͨ vs
Ubuntu ~ time docker run -t --rm ubuntu:latest /bin/bash -c 'echo "Hello world."' Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu cad964aed91d: Pull complete 3a80a22fea63: Pull complete 50de990d7957: Pull complete 61e032b8f2cb: Pull complete 9f03ce1741bf: Pull complete Digest: sha256:28d4c5234db8d5a634d5e621c363d900f8f241240ee0a6a978784c978fe9c737 Status: Downloaded newer image for ubuntu:latest Hello world. 17.23 real 0.04 user 0.04 sys ~ time docker run -t --rm alpine:latest /bin/ash -c 'echo "Hello world."' Unable to find image 'alpine:latest' locally latest: Pulling from library/alpine c0cb142e4345: Pull complete Digest: sha256:ca7b185775966003d38ccbd9bba822fb570766e4bb69292ac23490f36f8a742e Status: Downloaded newer image for alpine:latest Hello world. 6.07 real 0.02 user 0.02 sys
ܰ͞ͷͻΈͭ • `ls -la /bin` ͯ͠ΈΑ͏ ~ docker run -t
--rm alpine:latest /bin/ash -c 'ls -la /bin' total 796 drwxr-xr-x 2 root root 4096 Sep 22 23:30 . drwxr-xr-x 24 root root 4096 Oct 11 05:59 .. lrwxrwxrwx 1 root root 12 Sep 22 23:30 ash -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 base64 -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 bbconfig -> /bin/busybox -rwxr-xr-x 1 root root 805032 Aug 12 14:38 busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 cat -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 catv -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 chgrp -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 chmod -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 chown -> /bin/busybox ... ~ docker run -t --rm alpine:latest /bin/ash -c 'ls -la /usr/bin' total 188 drwxr-xr-x 2 root root 4096 Sep 22 23:30 . drwxr-xr-x 7 root root 4096 Sep 22 23:30 .. lrwxrwxrwx 1 root root 12 Sep 22 23:30 [ -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 [[ -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 awk -> /bin/busybox lrwxrwxrwx 1 root root 12 Sep 22 23:30 basename -> /bin/busybox ...
BusyBox ͱԿ͕ҧ͏ʁ • BusyBox σʔλϘϦϡʔϜίϯςφʔʢଞͷί ϯςφʔ͔ΒϘϦϡʔϜͱͯ͠Ϛϯτͯ͠ɺϑΝ ΠϧΛอ࣋͢Δ͚ͩͷίϯςφʔʣͱͯ͠Α͘Θ ΕΔ • BusyBox
ͰԿ͔Λ࣮ߦ͢ΔڥΛ༻ҙ͢Δͷେ ม…… • Alpine ʹ apk ͕͋Δʂ
apk ͍Ζ͍ΖḿΔ • `--no-cache` Ͱ Dockerfile Λॻ͘ͷ͕ḿΔʢapt, yum Πϯετʔϧޙʹ໌ࣔతʹΩϟογϡআͷ εςοϓ͕ඞཁʣɺͦͯ͠ૣ͍
~ time docker run -t --rm ubuntu:latest /bin/bash -c "apt update && apt -y install ruby && apt clean && ruby --version" ... ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu] 44.45 real 0.03 user 0.05 sys ~ time docker run -t --rm alpine:latest /bin/ash -c "apk --no-cache add ruby && ruby --version" ... ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux-musl] 6.47 real 0.01 user 0.01 sys ~ time docker run -t --rm centos:latest /bin/bash -c "yum -y install ruby && yum clean all && ruby --version" ... ruby 2.0.0p598 (2014-11-13) [x86_64-linux] 12.23 real 0.02 user 0.05 sys
apk ͍Ζ͍ΖḿΔ Ruby Node.js Redis Ubuntu 2.3.1 4.2.6 3.0.6 CentOS
(with epel) 2.0.0 6.7.0 2.8.19 Alpine 2.3.1 6.2.0 3.2.0 • ύοέʔδͷόʔδϣϯ͕݁ߏ৽͍͠ ※ͯ͢2016-10-12࣌Ͱͷlatest
͏طʹ݁ߏͳਓؾΈ͍ͨ • ຊޠͷใ͔ͳΓώοτ͢Δ • Docker Hub Ͱ Alpine ϕʔεͷΠϝʔδΛݟΔ͜ͱ ଟ͘ͳͬͨ
• `ruby:2.3.1-alpine` • `nginx:mainline-alpine` • ʢ৽ຯʹ͚ܽΔωλͰ͢Έ·ͤΜ…ʣ
ͷ ͬ͘͟ΓհͰͨ͠