w ͕ࣗ%PDLFSpMFΛॻ͘ͱ͖ʹɺ
Ͳ͏͍͏ڥͰॻ͍͍ͯΔ͔Λڞ༗ˍσϞ͠·͢
w ʮ͜͏͢Δͱͬͱޮྑ͍ΑʂʯͳͲ͋ͬͨΒ
ϚαΧϦ͓ئ͍͠·͢
Today…
Slide 3
Slide 3 text
w ίϯςφܕͷԾԽڥΛఏڙ͢Δ044
w %PDLFSpMFʹΑͬͯ%PDLFSΠϝʔδΛఆٛͰ͖Δ
w Ϗϧυͨ͠%PDLFSΠϝʔδ%PDLFS3FHJTUSZͰެ։Ͱ͖ɺ
ଞͷڥͰ͑ΔΑ͏ʹڞ༗Ͱ͖Δ
What is Docker?
%PDLFSpMFΛॻ͍ͯɺ
ΞϓϦέʔγϣϯΛ୭Ͱ͑ΔΑ͏ʹ͠Α͏ʂ
Slide 4
Slide 4 text
w ࠷͕ۙࣗॻ͍ͨ%PDLFSpMF
w EPDLFSDPNQPTF
w BQFY
w NFDBC
w +6."/
w FUDʜ
Recently…
%PDLFSΠϝʔδΛڞ༗͢Ε
AEPDLFSSVOA͚ͩͰ.BDͰ8JOEPXTͰ-JOVYͰ
ར༻Ͱ͖ΔΑ͏ʹʂ
Slide 5
Slide 5 text
#BE1SBDUJDF
Slide 6
Slide 6 text
Bad Practice to Write Dockerfile
$
5FSNJOBM
Slide 7
Slide 7 text
Bad Practice to Write Dockerfile
$ vim Dockerfile
0QFOFEJUPS
Slide 8
Slide 8 text
Bad Practice to Write Dockerfile
FROM alpine
RUN apk add —no-cache curl
RUN command to take long time
RUN some typo command
8SJUF%PDLFSpMF
Slide 9
Slide 9 text
Bad Practice to Write Dockerfile
$ docker build .
#VJME%PDLFSJNBHFBOEXBJUʜ
...
(wait for 10 min)
Slide 10
Slide 10 text
Bad Practice to Write Dockerfile
$ docker build .
&SSPS
...
...
/bin/sh: typo: not found
The command '/bin/sh -c typo' returned a
non-zero code: 127
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
Bad Iteration
$ build
☕
8SJUF #VJME8BJU &SSPS
Slide 13
Slide 13 text
#FTU1SBDUJDF
Slide 14
Slide 14 text
Best Practice to Write Dockerfile
5NVYɺ7JNɺ4MJNFΛͬͯ
Ұߦͣͭ%PDLFSpMFΛ͔֬ΊΔ
Ҏ্ɻ
Slide 15
Slide 15 text
%&.0
Slide 16
Slide 16 text
Best Practice to Write Dockerfile
$
3VOUNVYTQMJUQBOF
$
Slide 17
Slide 17 text
Best Practice to Write Dockerfile
$ vim Dockerfile $ docker run -it
alpine /bin/sh
&EJU%PDLFSpMF 3VOCBTFJNBHF`TTIFMM
Slide 18
Slide 18 text
Best Practice to Write Dockerfile
/ #
8SJUFKVTUPOFMJOF
FROM alpine
RUN apk add —no-cache curl
4IFMMJTSVOOJOH
Slide 19
Slide 19 text
Best Practice to Write Dockerfile
/ # apk add —no-cache curl
&YFDVUFPOFMJOFWJB4-*.&
FROM alpine
RUN apk add —no-cache curl
Slide 20
Slide 20 text
w ʮWJNTMJNFʯͱ͔ʮFNBDTTMJNFʯͰݕࡧʂ
w ΤσΟλʔͷબ෦ΛɺUNVYͷผQBOFʹૹΓɺ
࣮ߦͰ͖ΔϓϥάΠϯ
Slime?
IUUQTHJUIVCDPNKQBMBSEZWJNTMJNF
Slide 21
Slide 21 text
Best Practice to Write Dockerfile
/ # apk add —no-cache curl
&YFDVUFPOFMJOFWJB4-*.&
FROM alpine
RUN apk add —no-cache curl
Slide 22
Slide 22 text
/ # some command
Best Practice to Write Dockerfile
/ # apk add —no-cache curl
…
&YFDVUFPOFMJOFWJB4-*.&
FROM alpine
RUN apk add —no-cache curl
RUN some command
Slide 23
Slide 23 text
/ # some command
…
Best Practice to Write Dockerfile
/ # apk add —no-cache curl
…
&YFDVUFPOFMJOFWJB4-*.&
FROM alpine
RUN apk add —no-cache curl
RUN some command
RUN other command
/ # other command