Date post: | 06-Jul-2018 |
Category: |
Documents |
Upload: | cristhian-rey |
View: | 232 times |
Download: | 0 times |
of 141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
1/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
2/141
!"# %#& '()*+,
!"# -.*+#/ )01 2.0()30#/ 4*.565(#7 #8..+ '#/3#5
*./0 -1..12345 6789:/; ! ':11/? @/9A2319 @2..5 )/B>91B2. ':15 %;/2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
3/141
! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
#!-.+ $0 )$'#+'#1+9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
4/141
4 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
&'#,$(")#&$')>/ B79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
5/141
5 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'(#!%"
)>14 14 78; 1;: /J77K 19 / E7BK/; 29: %79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
6/141
6 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
12$'1$,1-/ 2;/ D;2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
7/141
7 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
R'e %#,%'C)(
+, #$%&'()$*)+#,%& =>%>?@A>B B'C
!>/ E7BK/; G.2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
8/141
8 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
D#;B>/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
9/141
9 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
B79?1D8;2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
10/141
:; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
!"#$%& ()*&+, ()*-. /012. *34 /0*5
6"4% 7
!"#$%& !(%)"*
+"*,(-*%&.
8*3*2%&
/#0%123%&
!-.#"4%&5/%&4-#%
6"4% 9
!"#$%& !(%)"*
+"*,(-*%&.
6"4% :3;
!"#$%& !(%)"*
+"*,(-*%&.
!>"&,%1< %..%.<%,#1< +"*.23 (*1 ?""@%%>%&A /#0%123%&.,&(,%8-%. (&% >3288(;3% (. 7%33A
%&' )*& +&, !-.%/0
2#3 45 (")*+, -./,0 1+/23,+4 5#366/%#+ 4)7+83#9:6 /#6",92704 /:8 %,"/8 ,+6942,& 4355",2$ ;"003:9)/29": %+2.++: 0/:/6+, /:8 :"8+4 34+4 42/:8/,8 (")*+, 4$
4H4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
11/141
:: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
;/G;/4/9/ K/H 2:F29
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
12/141
: G;/F/9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
13/141
:! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
f B)5(#/, )>/ 4/;F/; 2< ;894 / R8J/;9/74< 2< ;894 / K8J/./< 4/;F1B/ 29: / E7BK/; '9D19/O
L191794 ;/B/1F/ B73329:4 ?;73 / 324
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
14/141
:4 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
!"#$%& (&)*)+ ,-./0 1*2 3.4%56&21*27#8$& 9*2:/*#;)
!"#$% '#%()*
+)*,#-*%./
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
15/141
:5 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
:/41D9/: 1D>=G/;?7;329B/ B73G8 4.2F/ 97:/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
16/141
:6 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# %&'%"()* +' &,%-"*),.)+&'
97:/4 19 / 4H4/ B79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
17/141
:7 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
@$+E\+,\ $'*M+)+'(T#$%&'()$*)+#,*,E C$#\$*LL*@M'
+,6$*()$V%)V$'%& >G4O P@GG@>B' /:8 84%=>B@% 8>GG
!
2;/ B79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
18/141
:8 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%#&% "()*#+#(,- ."/0(,+")+#.& )&$ 1".%")22)!*(333
D$89919D B.84/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
19/141
:9 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%#&% "()*#+#(,- ."/0(,+")+#.& )&$ 1".%")22)!*(333
:/F/.7G/; N178<
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
20/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
21/141
/;/ 2;/ 2 983J/; 7? 7F/;.2GG19D :7321945 /4G/B12..H N>/9 N/ 19K 2J78<
B791/?
+@L %.78:5 19 29 19/
,/N (/;/ 14 R8J/;9//;/ 2;/ 2;D83/92< D7/4 89:/;9/25 19 / 31::./ 7; 79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
22/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
23/141
!"#$%#&% "()*#+#(,- ."/0(,+")+#.& )&$ 1".%")22)!*(333
:/F/.7G3/9< 4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
24/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
25/141
5 1< J/B73/4 2GG2;/9< 2< 2::;/4419D / 9//:4 7?
48;F/H 7? B79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
26/141
2< 2;/ / 32B>19/4 32K19D 8G 14 B.84
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
27/141
/2.19D /9F1;793/9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
28/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
29/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
30/141
!; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
C''$ C'$(C'%)+]'(#, %#,)*+,'$#$%&'()$*)+#,
(V$]'e%& G>PA4%24 L42L!
"
/24H HG/ 2;789: G;7:8B/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
31/141
!: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
2:7G2F/ 979=G;7:8B
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
32/141
!:>0,
@/-.>9:;-= :0;76 50/A,9:3 /0 ,B76>7:;/-C
D>: -/: /:?,0E;3, >3;-= 9/-:7;-,03
23;-= 9/-:7;-,03 D>: -/: ;- 50/.>9:;/-F,G=GC >3;-= ;- :?, :,3: /0 .,B 6;8,9H96,3I
23;-= 9/-:7;-,03 :/ 0>-50/.>9:;/- E/0J6/7.3
678
798
:78
:;8
:68
8
?8
?8
2#3 45 -+!+:2&R":+ 5+,)+:2 "1 43,!+&+8 +:8 34+,4 /,+ 349:6 )":2/9:+,4 2" 4"0+ 8+6,++$
29 /321. 4/9< JH 29 /0/B8/;/d4 32;K/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
33/141
!! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"# %&'(")'*#*+*,-. %&'(")'&' /0"1 2)3 4'&0'
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :; 1"#$ "? $"@&A BC6DE8
! "!# $!# %!# &!# '!#
()*+,-./0 2* 3456.7 8,6)-.2/9
3*2:47- ()/)0,*
;,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
34/141
!4 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
35/141
!5 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
36/141
!6 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
37/141
!7 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%-)&,3C
@-.,+)."3 $3*B"&,3+,)-.
!!"
#$"
#!"
%&"
!'"
#&"
%#"
!!"
%!"
%#"
%#"
%'"
(#"
))"
)*"
))"
(#"
)$"
2#3 :5
%79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
38/141
!8 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
2#3 ;5
!"#$%&'() +(, -./& 0.1 2/(,"& 34(56'"(%7 +8$/56%6'"(.
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%-"$ I,"$/B :"$ %"J@.;1 -*.- @$"0&B @$">#%-B "$ B&$0 -" %";-.&> $&B@";B&B &?%=#>&> :$"J %*.$-8
!"(6%'(/& 9&5:/.6&%6'"( !"(6%'(/&;%.;%;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
39/141
!9 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%"& ()*+,- ,. (%/%0#/012"3+)4*"%*#/0 5,/*%#/)"4
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :; -*& :A.-:">B CD&.;& ;&D&%- .D D -*.- .
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
40/141
4; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
:/G.7H3/9< 19 G;7:8B
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
41/141
4: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%"& ()*+,- ,. (%/%0#/012"3+)4*"%*#/0 5,/*%#/)"46
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :; -*& B%- .CC -*.- . 2 >EF6G D;:>?2 H#- >"- :> 2 >E4IG J">@#%-:>? -$:.C;K&0.C#.-:">2 >E4L8
! "# $!# $"# %!# %"#
&'()*+,-(. ,0-12 30'45+,6 '0 5712*1,-'(8
9*, (', ',:50;-65 *6-(. +'(,1-(506
.>8 -( ,56, '0 )5752'3?5(, 2-@5+A+256B
&'(,1-(506 16 1 E507-+5=5>.>8 JHE K&E8 LMN M2*5?-O8 P'A5(, Q0-,'(16,-+ &'(,1-(50 E507-+58 G'+C50 G1,1+5(,50B
=5>.>8 &:5@8 J(6-9258 D*335, R196B
H5 *65 6:522 6+0-3,6 1()I'0 +*6,'?-S1,-'(6,' -(,5.01,5 ?*2,-325 ,''26>
789
:79
;9
79
?9
@9
7A9
?9>9
7A9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
42/141
431+.*+3 6-=+*5=3.18
G-=+*5=3.1 *1 * 23.456373898: HA2 IG2: JKL K)B3/5M: N-O3=+ P.5+-=
I)*1+56 G-=+*5=3. 23.4563: ?-6Q3. ?*+*63=+3.@
73898: G>3,: H=15C)3: (B
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
43/141
4! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
)>/ 923/4 J/>19: / B2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
44/141
44 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"# %&'()*+&,+-". /&"01'+* 2,*)0 ". 34#)'+)0 5*,6) 7-+(-. 8)4+ 9),&
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9:-*:; -*& ;%-? "$ ?&$ 0:%&?&
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
45/141
45 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"# %&'()*+&,+-". /&"01'+* 2,*)0 ". 34#)'+)0 5*,6) 7-+(-. 8)4+ 9),&:
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9:-*:; -*& ;%- ? "$ ?&$0:%&? 1"# %-:";2 ;F45H
! "!# $!# %!# &!# '!#
()*+,-./0 2/.345678.9)3: ;
?)@6?6)5A
B..C@< -.D6),D
G9)H.D E@)*6,5-.D6),D
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
46/141
46 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%&" (%)&*$"#+ ,**-) .)"/ 0*# 1*234%2"#)
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- -"":; 1%7;Gd4 %7948. ?7; 4/;F1B/
:14B7F/;HO (19B/ &24>1%7;Gd4 ,732: 14 3/29< ?7; .2;D/; :/G.7H3/9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
47/141
47 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%&'()* ,--'. /.$% 0-1 2-)34()$1.
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :" 1"# #;& %&; ,>-* =&;; -*.? -," $&;C"?;&; .$& ?"- ;*",?8
! "!# $!# %!# &!#
'()*+,-
./+)01234
5+676
89:7)*7;
2F21.2J1.1
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
48/141
48 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%&' )*+*,&-&+% .//"$ 0$&1 2/' !/+%*3+&'$
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :" 1"# #;& =&$ %?#;-&$ @.=.A&@&=-B;& ;&?&%- .?? -*.- .DD?18 E*">%&; ,>-* ?&;; -*.= -," $&;D"=;&; .$& ="- ;*",=8
!" #!" $!" %!" &!"
'()*+,(-
./*-01+23
4*)()
4*5()
6*7+()
8+59:9*-3
;:-?@5* B(-3:+-*5 0*5C+/;5 29: g>73/D;7N9h /2B> ;/B/1F/: 2< ./24< ?78; N;1
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
49/141
49 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
/H 84/ L/474O e/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
50/141
5; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%#&'() +,'&-,'# .(, +()')-, /,01-2&,#&'() 3(($2
$%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*&: &0.;#.--$.-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
51/141
5: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
!"#$%&'()* $, -$(&'.(*% /%)0*1&%'&.$( 23.4.&.*1
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*&: &0.;#.--$.-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
52/141
5
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
53/141
5! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!""# !"#%!"&'()"% *+ &*+',(+"# *#&-"%'#,'(*+ %.#)"/
3292D/3/9< 2;/ G2;< 7? B79/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
54/141
54 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*. 54
%M#VE=,*)+]'
%*C*@+M+)+'( *,E *E''C'$ V('$ 'oC'$+',%'
+9 14 /G147:/5 R/9 #N/94 29: @/9 (B>832B>/;
7N 7;B>/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
55/141
55 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
%#,(+E'$*)+#,6#$ %#,)*+,'$( +,
C$#EV%)+#,%& C@C4? =R%4=>
!
;/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
56/141
56 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
2GG.1B21B> 2;/ G;79/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
57/141
57 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
f %2G2B1
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
58/141
58 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
1
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
59/141
http://www.thenewstack.io/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
60/141
6; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
)>/ /G>/3/;2. 92 9/N B79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
61/141
6: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
19?;24
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
62/141
6
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
63/141
6! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
;7..19D 8GD;2:/5 N>1B> 2..7N4 8G:2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
64/141
64 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
)>/ 48GG7;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
65/141
65 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
D)>/ /G>/3/;2. 4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
66/141
66 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
:/G.7H/:O +? H78 2;/ 8419D 7;B>/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
67/141
67 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
G;2B
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
68/141
68 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,"( !"#*)%#'($ %# -("&.!*%"#
38.
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
69/141
69 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*. 69
+9 14 G7:B24< N1 R/9 $7J/;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
70/141
7; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
@*R'$e *(* 6#V,E*)+#,T%#,)*+,'$ +L*\'( *,E
L+%$#('$]+%'(%& C@C4? =R%4=>
#9/ 7? / ?89:23/9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
71/141
7: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
2GG.1B2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
72/141
7
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
73/141
7! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
B73G2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
74/141
74 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
!"#$%" %'( )#*%" +%,-./ 01%'(%.(2
%&' )*+&, -#.&/0
!)3+4)+%,-./5.#*-22
)364)+%,-./5.#*-22
!)3+4)+%2- 78%9-2
6#'1%:'-.;%':?0=@A5?+)76 03?>6@
!"#$
!"%% !"%%
!"%% 63B=47B@>@B!7B@
!"#$
!"#$
!)3+4)+%,-./ 01#.-
6#'1%:'-.78%9->-9:21./
!)3+4)+%,-./ >-C#2:1#./
0#D.*-6#'1.#"
)364)+%2- 78%9-2
!-'-.%1-(78%9-
6#'1%:'-.;%':-C#2:1#./
6#'1%:'-.78%9->-9:21./
6#'1:'D#D2A-":E-./5:C-":'-
0#D.*-6#'1.#"
2#3 45 A/*+,& /:8 a")/# A/*+,& 0"8+#4B /:8 8+0":42,/29:6 7". %"27 27+ )":29:3"34
)>/ 4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
75/141
75 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
!"#$%" %'( )#*%" +%,-./ 0'1-.%*12#'3
!)4+5)+%,-./ 61#.-
7849:;< 67:;0=0;
=:58:6?
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
76/141
76 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
)>/ 78
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
77/141
77 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
)N14
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
78/141
78 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
B79 4789:4
.1K/ 29 29
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
79/141
79 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%& "( " )*+,-"./*,0 1*,."/,$% /2"3$( ",- 2/1%*($%4/1$(
f C84> / ;/48.
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
80/141
8; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*. 8;
\*+,+,\ ]+(+@+M+)e
+,)# L*,*\+,\ *CCM+%*)+#,(
3/294
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
81/141
8: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
%#,6+\V$*)+#,L*,*\'L',)
*,E #$%&'()$*)+#,%& '2J!! BS ERG!J% @@@
#;B>/4/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
82/141
82BK./4 G;7D;234 ?;73 / >2;:N2;/ 7? / 4/;F/;4
2< ;29 /3O
f P#9 5#/F3*#5 /92J./ B733891B2
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
83/141
8! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
13G./3/9< N7;K.72: 7;B>/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
84/141
84 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
+9 / WZZZ45 F1;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
85/141
85 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
*4 2 ;/48./4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
86/141
86 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
:1F141794O
TS !"# -.*+#/U8)5#1 '65(#7E7BK/;d4 92/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
87/141
87 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
2#3 45 O794 )7/,2 47".4 .7/2 13:)29":/#92& +:8 34+,4 +Q5+)2 1,"0 )":2/9:+, ",)7+4R R
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
88/141
88 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
29 2;B>1 J81.< 29 7;B>/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
89/141
89 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
7;B>/4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
90/141
9; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
&7N/F/;5 N119 /9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
91/141
9: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%&'()*%"# ,)#)&-,-#* )#. "(!/-0*()*%"#
:/329:4 7? E7BK/; 84/;4O )>/ B73G29H :/F14/: 2 K19: 7? g/3J;2B/ 29:
/0
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
92/141
9
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
93/141
9! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
.29:5 N/ N29<
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
94/141
94 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
!"#$%&'() +,%-."/ %(0 12&3'42/
2 7%%1 !%%1 8 !"(-%'(2& 12&3'42/ +%%1
4&'$-'"( !"#$%&'"()* ,-./%$) #)0-%#,)0 12345 67850$-#&9)5 :)$;-# $?&$ .%0$ @)&00).@')* &:* #)&*A B-# &// *)/'-A.):$=
3#-C"*)0 &: &@0$#&,$"-: '&A)# -C)# ,-./%$)#)0-%#,)0 $?&$ &''-;0 $?) *)/'-A.):$ &:*-#,?)0$#&$"-: -B ,-:$&":)#0=
3#-C"*)0 &: &@0$#&,$"-: '&A)# -C)# ,-./":B#&0$#%,$%#) $?&$ &''-;0 $?) *)/'-A.):&:* -#,?)0$#&$"-: -B &//'",&$"-:0=
&%4-'"(
2-./%$) #)0-%#,)0 2-:$&":)#0 7//'",&$"-:0
#$,2 7.&(-: D)@ E)#C",)05 7(%#)5 F"9"$&'G,)&:5H--9') 2'-%* 3'&$B-#.5 IJ8 2'-%*I:B#&0$#%,$%#)5 !8;)
2-#)GE K),$-:",5 F-,5 N&0?"2-#/O-.&*5 IJ8 2-:$&":)# E)#C",)5 P-A):$K#"$-:5 8)0-0/?)#) F&$&,):$)#G/)#&$":9 EA0$). 1F2GE>
7DE L'&0$", J)&:0$&'=
KA/",&''A @&
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
95/141
95 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
14 J/19D B.78: 19?;24
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
96/141
96 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
+9 3H N7;K 2< #G/9%;/:75 N/ >2F/ N7;K/: N1 38.
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
97/141
97 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
;/478;B/ 4
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
98/141
98 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
G#55.05 G#)/0#1 E/.7 .:/ !37# .0 ("#A)0*"
)>/ 213 7? 14 2;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
99/141
99 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%'( "(!*'+$(%$&"# %#, +!*',-./0 *'(,/111
f M/2;9 2J78< @;/9:29 \;/DDd4 V
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
100/141
:;; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*. :;;
V,+6e+,\
*,E #$%&'()$*)+,\#C+,+#,*)'E6$*L'-#$R( *,E('$]+%'(
+9 14 G7:B242/. &284/9J.24
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
101/141
:;: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
)&' 'L'$\+,\%#,)*+,'$( *( *
('$]+%' L*$R')CM*%'%& >G4O P@GG@>B' B 'R'>% L>GG /:8 =J>8 =>2?'J%
$>1./ 329H :/F/.7G/;4 2;/ /984124
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
102/141
:;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
103/141
:;! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
%&' )*& +&, !-.%/ !#$0&12 3.$%* 45678 9*.- :#;%- -" %";-.
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
104/141
:;4 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
\77D./ %79/4/ N;1
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
105/141
:;5 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
/0G/;1/9B/ J/D194 N1 :/G.7H19D B79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
106/141
:;6 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
%2;192 84/4 / #G/9 %79
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
107/141
:;7 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
D#G4 14 N;1/BK45 J8</Hd;/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
108/141
:;8 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
7G/;294
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
109/141
:;9 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"# #%#&'()' *+)!,()#&- ,- , -#&.(*# %,&/#!01,*#
D +/ 37;/ B73G742J./538B> 37;/ 19
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
110/141
::; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*. ::;
@V+ME+,\ #C',
(#V$%' )##M(6#$ )&' E'L#%$*)+%+,)'$,')
(7.7379 &HK/4 7? E7BK/;
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
111/141
::: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
!"#$%!#&$'3 $,)4+1#,!#&$'(&,+)#$,5
http://www.thenewstack.io/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
112/141
::$%4?2 1".-E%&2 M"@(0%-'"(C
&:* )Q$):0"-: /-":$0 *)/):*):$ %/-: )&,? -$?)#= 7:$ 0%//'")0 & :%.@)# -B @%"'$T": $&0-,%//'%(C
J&.@-- "0 & ,-:$":%-%0 ":$)9#&$"-: &:* *)'"C)#A $--' $?&$ $")0 &%$-.&$)* @%"'*05 $)0$0 &:* #)')&0)0 $-9)$?)# ":
-"&.(6(+2.$5 7&')."(&'8
)$'#&'"$"1 &'#+8,!#&$'6(+.&9+,5:
https://www.ng.bluemix.net/docs/services/ActiveDeploy/index.htmlhttp://ant.apache.org/http://www.appveyor.com/https://www.jfrog.com/artifactory/https://www.hashicorp.com/atlas.htmlhttp://aws.amazon.com/codedeploy/http://aws.amazon.com/opsworks/https://www.atlassian.com/software/bamboohttps://www.atlassian.com/software/bamboohttp://aws.amazon.com/opsworks/http://aws.amazon.com/codedeploy/https://www.hashicorp.com/atlas.htmlhttps://www.jfrog.com/artifactory/http://www.appveyor.com/http://ant.apache.org/https://www.ng.bluemix.net/docs/services/ActiveDeploy/index.htmlhttp://www.thenewstack.io/
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
113/141
::! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
L,@2#'= B7LDC Y 3'&$B-#.0X3&&E
J'%)."Q "0 IJ8Z0 *"9"$&' &//'",&$"-: /'&$B-#.5 ):&@'":9 A-% $- *)C)'-/5 *)/'-A5 .&:&9) &:* #%: ,'-%*
&//'",&$"-:0= D"$? J'%)."Q A-% ,&: %$"'"() F-,C
J%"'*@-$ "0 & 3A$?-:T@&0)* -/): 0-%#,) B#&.);-#< B-# &%$-.&$":9 0-B$;) @%"'*5 $)0$ &:* #)')&0) /#-,)00)0=
L@',0D%/-2& B7(20"C
J%"'*8&0$)# "0 &: &//'",&$"-: #)')&0) &%$-.&$"-: $--' B-# F)CG/0 $?&$ ,#)&$)0 ,-./')Q #)')&0) /"/)'":)0 ̂&'' .&:&9)* B#-. -:) ,):$#&' *&0?@-*=
!%,#I'" B!%,#I'"C Y G#,?)0$#&$"-:
2&'.="- "0 & /'&$B-#. $- *)/'-A5 .&:&9) &:* .&":$&": *"0$#"@%$)* &//'",&$"-:0 ": /#"C&$) &:* /%@'", ,'-%*
9-C)#:&:,)=
G/): E-%#,) !%$'/-&%(" BS8>C
2&/"0$#&:- "0 & #).-$) 0)#C)# &%$-.&$"-: &:* *)/'-A.):$ $--' ;#"$$): ": 6%@A=
G/): E-%#,) !%$/@,2 BS8>C
2&/0%') "0 & /&,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
114/141
::4 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
!,"@0 TT B!,"@0 TTC Y G#,?)0$#&$"-:
2'-%* __ "0 &: &//'",&$"-: /#-C"0"-:":9 &:* .&:&9).):$ 0)#C",) $?&$ &''-;0 A-% $- @%"'* F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
115/141
::5 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
9!PW B9!PWC Y G#,?)0$#&$"-:
F2Nc "0 & *)/'-A.):$ &%$-.&$"-: &:* 9-C)#:&:,) /'&$B-#. B-# F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
116/141
::6 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) 9"4R2& D%4?'(2 B9"4R2&C Y G#,?)0$#&$"-:
F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
117/141
::7 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
Y'-U%; !"(-'(@"@/ 7(-2)&%-'"( BY'-U%;C
H"$`&@ 2I "0 $?) /$ -B H"$`&@ $?&$ &00"0$0 ": $)0$":95 @%"'*":9 &:* *)/'-A":9 ,-*)=
G/): E-%#,) Y" !"(-'(@"@/ 92,'32&6 B5?"@)?-Q"&R/C
H- 2-:$":%-%0 F)'"C)#A 1H-2F> ?)'/0 A-% &%$-.&$) &:* 0$#)&.'":) $?) @%"'*T$)0$T#)')&0) ,A,') B-# ;-##ATB#))5 ,-:$":%-%0 *)'"C)#A -B A-%# /#-*%,$= K?"0 "0 & P&C&XP6%@A -: 6&"'0 /#-a),$= I$ "0 &: -/): 0-%#,) ,-:$":%-%0*)'"C)#A 0)#C)# ;"$? /"/)'":)0 &$ "$0 ,-#)=
G/): E-%#,) Y&%0,2 BY&%0,2C
H#&*') "0 & @%"'* &%$-.&$"-: 0A0$).= H#&*') ?&0 @)): *)0"9:)* $- 0%//-#$ @%"'* &%$-.&$"-: &,#-00 .%'$"/') ;"$? *)C)'-/.):$ $--'0 &:* ,-:$":%-%0 ":$)9#&$"-: 0)#C)#05 ":,'%*":9 L,'"/0)5 I:$)''"P5 &:* P):
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
118/141
::8 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) :%.R% 92$,"6 BS8>C
M&BC
7/&,?) 8&C): "0 & 0-B$;) /#-a),$ .&:&9).):$ &:* ,-./#)?):0"-: $--'= J&0)* -: $?) ,-:,)/$ -B & /#-a),$-@a),$ .-*)' 13G8>5 8&C): ,&: .&:&9) & /#-a),$b0 @%"'*5 #)/-#$":9 &:* *-,%.):$&$"-: B#-. & ,):$#&' /"),)-B ":B-#.&$"-:=
G/): E-%#,) D1L@',0 BD'4&"/".-C
K?) 8",#-0-B$ J%"'* L:9":) "0 & /'&$B-#. B-# @%"'*":9 &//'",&$"-:0= K?"0 ):9":)5 ;?",? "0 &'0-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
119/141
::9 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) +%4R2& BP%/?'!"&$C
+2&-'(" ."& 9"4R2& B+2&-'("C
3)#$":- B-# F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
120/141
: )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
12#%$?"&2 BA2(02&20 52=-C
E).&/?-#) "0 & ?-0$)* ,-:$":%-%0 ":$)9#&$"-: 0)#C",)=
1?'$$%;,2 B1?'$$%;,2C
E?"//&@') "0 & ,-:$":%-%0 ":$)9#&$"-: /'&$B-#. @%"'$ :&$"C)'A -: F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
121/141
: )'!*&+&,-*%.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) 52&&%." BP%/?'!"&$C Y 3'&$B-#.0X3&&E
K)##&B-#. "0 & $--' $- @%"'* &:* '&%:,? ":B#&0$#%,$%#)5 ":,'%*":9 ,-:$&":)#0=
G/): E-%#,) 5"-2# BS8>C
K-$). "0 & ,-:$":%-%0 *)'"C)#A /"/)'":) $--' *)0"9:)* B-# .",#-0)#C",)0=
5&%3'/ !7 B5&%3'/ !7C
K#&C"0 2I "0 &: -/): 0-%#,) ,-:$":%-%0 *)/'-A.):$ /'&$B-#.e "$ "0 &@') $- #%: -: F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
122/141
:,/" !%-2)"&'J20 7(K
G/): E-%#,) N2//2, BS8>C
!)00)' &%$-.&$)0 $?) 0)$%/ &:* %0) -B F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
123/141
:
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) >@&"&% B>$%4?2 1".-E%&2 M"@(0%-'"(C
7/&,?) 7%#-#& ')$0 A-% %0) &: 7/&,?) 8)0-0 ,'%0$)# &0 & /#"C&$) ,'-%*= I$ 0%//-#$0 '-:9T#%::":9 0)#C",)05 ,#-:
a-@05 &:* &* ?-, a-@0=
>J@&2 !"(-%'(2& 12&3'42 BD'4&"/".-C Y 3'&$B-#.0X3&&E
,'%0$)# ":,'%*)0 F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
124/141
: %$(/,0#$1#!%" 3 (*'0#,$ 41"15,4,"#
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) P2,'"/ B1$"-'.6C
N)'"-0 "0 & F-,$%4?2 1".-E%&2 M"@(0%-'"(C
N)'"Q "0 & 9):)#",5 ,'%0$)# .&:&9).):$ B#&.);-#< %0)* B-# $?) &%$-.&$", .&:&9).):$ -B /$"$"-:)*5#)/'",&$)* &:* *"0$#"@%$)* #)0-%#,)0 ?-0$)* -: & ,'%0$)# -B :-*)0=
G/): E-%#,) D2/"/ B>$%4?2 1".-E%&2 M"@(0%-'"(C
7/&,?) 8)0-0 "0 & ,'%0$)# .&:&9)# &:* 0?":9 &,#-00 *"0$#"@%$)*&//'",&$"-:0 -# B#&.);-#
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
125/141
:
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
126/141
: %$(/,0#$1#!%" 3 (%"6!5'$1#!%" 41"15,4,"#
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
+@$$2-
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
127/141
:$42&%C Y 3'&$B-#.0X3&&E
7/,)#& .&:&9)0 &,,)00 $- ,-./%$) #)0-%#,)0 &,#-00 & ,'%0$)# -B 0)#C)#0= JA B-,%0":9 -: .&:&9":9 /-'",")0
&,#-00 .%'$"/') ):C"#-:.):$05 "$ &".0 $- 0),%#) ;-#
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
128/141
: %$(/,0#$1#!%" 3 0(/,&'*!"5
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) !&%(2 BS8>C
2#&:) "0 & '"9?$;)"9?$ ;#&//)# -%:* $?) F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
129/141
: %$(/,0#$1#!%" 3 0(/,&'*!"5
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
O2,%/-'4 BO2,%/-'4C Y 3'&$B-#.0X3&&E
P)'&0$", /#-C"*)0 & 3&&E &:* ,-:$&":)#T@&0)* I&&E -: & 0":9%' /'&$B-#. $?&$ ":,'%*)0 ,-:$&":)#
-#,?)0$#&$"-:=G/): E-%#,) :"() BD%/?%$2C
G/): E-%#,) :"(-2(% B:"(-2(%C
M-:$):& "0 & ,-:$&":)# -#,?)0$#&$"-: $--'= I$ &@0$#&,$0 ,-:$&":)#0 ":$- &//'",&$"-: 0)#C",)0 &:* )0$&@'"0?)0&: ":$)#:&' :)$;-#< @)$;)): '":$%4?2 1".-E%&2 M"@(0%-'"(C
8&$?-: "0 &: 7/&,?) 8)0-0 B#&.);-#< B-# '-:9T#%::":9 &//'",&$"-:0= 8&$?-: /#-C"*)0 & 6LEK 73I B-#0$$":95 0$-//":9 &:* 0,&'":9 &//'",&$"-:0= I$ ')$0 %0)#0 *)/'-A5 #%: &:* 0,&') F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
130/141
:!; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> %$(/,0#$1#!%" 3 0(/,&'*!"5
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
=9"4R B[2&3#"(C Y J%"'*XF)/'-A
g)#C.-: "0 & ,'-%* .&:&9).):$ /'&$B-#.= I$0 QF-,< ')$0 %0)#0 *)/'-A5 .&:&9) &:* .-:"$-# F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
131/141
:!: "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) 4"(.0 BS8>C
": $?) 0)#C",) *"0,-C)#A /-#$&'= K?) 0A0$). ":C-'C)0 & $--' $- ;&$,? #)')C&:$ ):*/-":$0 B-# ,?&:9)05 &
G/): E-%#,) !"(/@, BP%/?'!"&$C
0,&'&@')=
G/): E-%#,) !"(-%'(2&+',"- BO"62(-C
G/): E-%#,) 92("#'(%-"&
F):-.":&$-# &''-;0 %0)0 $- /-#$&@'A ,-:$#-' FOE ,'-%*0 %0":9 P&C& -# J&0?=
G/): E-%#,) 2-40 B!"&2H1C
G/): E-%#,)
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
132/141
:! %$(/,0#$1#!%" 3 0,$7!(, &!0(%7,$.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) 12&. BP%/?'!"&$C
E)#B "0 & *),):$#&'"()* 0-'%$"-: B-# 0)#C",) *"0,-C)#A &:* -#,?)0$#&$"-: $?&$ "0 '"9?$;)"9?$5 ?"9?'A &C&"'&@') &:*
B&%'$ $-')#&:$=12&3'42 9'/4"32&6 B7LDC
E)#C",) *"0,-C)#A "0 & 0)#C",) $?&$ ):&@')0 *)C)'-/)#0 $- )&0"'A #)9"0$)# &:* $?)"#.",#-0)#C",)0=
G/): E-%#,) 1R69S1 BS8>C
EC
!%',&:* "0 & /#-9#&..&$", '-&* @&'&:,)# @&,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
133/141
:!! "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
L,@2#'= B7LDC Y J%"'*XF)/'-A5 3'&$B-#.0X3&&E
J'%)."Q "0 IJ8Z0 *"9"$&' &//'",&$"-: /'&$B-#.5 ):&@'":9 A-% $- *)C)'-/5 *)/'-A5 .&:&9) &:* #%: ,'-%*
&//'",&$"-:0= D"$? J'%)."Q A-% ,&: %$"'"() F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
134/141
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
135/141
:!5 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
>,%@0% B>,%@0%C
7'&%*& "0 & ,'-%* /'&$B-#. $?&$ /#-C"*)0 2-:$&":)#0 &0 & E)#C",)5 ,'-%* ?-0$":9 &:* &: ".&9) #)9"0$#A=
>$42&% +,%-." B>$42&%C Y G#,?)0$#&$"-:
7/,)#& .&:&9)0 &,,)00 $- ,-./%$) #)0-%#,)0 &,#-00 & ,'%0$)# -B 0)#C)#0= JA B-,%0":9 -: .&:&9":9 /-'",")0&,#-00 .%'$"/') ):C"#-:.):$05 "$ &".0 $- 0),%#) ;-#
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
136/141
:!6 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> -*1#6%$40+-110
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
!%&'(% BA%4R/$%42C
2":& /#-C"*)0 & V()#- ":B#&0$#%,$%#)W ?-0$)* ,-:$&":)# ):C"#-:.):$5 ;?)#) %0)#0 :- '-:9)# ;-##A &@-%$
@%"'*":95 .&:&9":9 &:* %/*&$":9 $?)"# ,-:$&":)# ):C"#-:.):$=!,"@0/".- >$$,'4%-'"( D%(%)2#2(- +,%-." B!,"@0/".-C
Y G#,?)0$#&$"-:
2'-%*0-B$b0 &//'",&$"-: .&:&9).):$ /'&$B-#.5 @&0)* -: $?) -/): 0-%#,) 7/&,?) J#--#%J"( Q2; 12&3'42/C
G/): E-%#,) . %;&'4Z BA20 P%-C Y J%"'*XF)/'-A
B&@#",h "0 &: -/): 0-%#,) F)CG/0 &:* ":$)9#&$"-: /'&$B-#. $?&$ "0 @%"'$ &0 & 0)$ -B .",#-0)#C",)0 $?&$ #%: -: $-/-B M%@)#:)$)0 &:* G/):E?"B$ !i= I$0 ,-:$":%-%0 *)'"C)#A "0 @&0)* -: P):
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
137/141
:!7 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> -*1#6%$40+-110
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) M,6(( B+&'#2 9'&24-'32^ 7(4IC
S'A:: "0 & .",#-T3&&E @%"'$ -: F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
138/141
:!8 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> -*1#6%$40+-110
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) H$2(1?'.- H&')'( BA20 P%-C
G/):E?"B$ G#"9": "0 $?) %/0$#)&. -/): 0-%#,) C)#0"-: -B G/):E?"B$ &:* "0 .)&:$ $- &''-; B-# *)C)'-/.):$ -B
,'-%*T:&$"C) &//'",&$"-:0= G/):E?"B$ "0 & 3&&E @%"'$ -: F-,-"#'4 BA20 P%-C
3#-a),$ 7$-.", ?-0$0 #%: &//'",&$"-:0 ": F-,
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
139/141
:!9 "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
,%($=1> -*1#6%$40+-110
+&"0@4-8+&"G24- B!"#$%(6 "& 1@$$"&-'() H&)IC >,/" !%-2)"&'J20 7(K
G/): E-%#,) 52&&%." BP%/?'4"&$C Y J%"'*XF)/'-A
K)##&B-#. "0 & $--' $- @%"'* &:* '&%:,? ":B#&0$#%,$%#)5 ":,'%*":9 ,-:$&":)#0=
G/): E-%#,) N%#$ BD%)(2-'4I'"C Y J%"'*XF)/'-A
!&./ 0$&:*0 B-# !)#A 7;)0-.) 8",#-0)#C",)0 3'&$B-#.= I$ ?)'/0 *)C)'-/)#0 @%"'*5 *)/'-A &:* .&:&9).",#-0)#C",)0= !&./b0 ,-#) B)&$%#)0 ) & /'&$B-#.T&9:-0$", .",#-0)#C",)0 FE`5 /-;)#B%' 7XJ $)0$":95 ,&:A#)')&0":95 &%$-0,&'":9 &:* &: ":$)9#&$)* .)$#",0X)C):$ ):9":)=
N'&-@"JJ" BH0'(C Y J%"'*XF)/'-A
!"#$%-((- "0 & ,-:$&":)# C"#$%&'"(&$"-: /'&$B-#. 0-'* $- /#-C"*)#0 -B ,'-%* 0)#C",)0=
Q%32D%R2& BQ%32D%R2&C
D&C)8&
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
140/141
:4; "#$%&"$'%( ) %*+,-.$*"$'%( /'$, 0%+1-* ) +%($"'(-*.
(&1).$1",+1)>/ ?7..7N19D B73G291/4 3/9/
,/N (
8/17/2019 TheNewStack Book3 Automation and Orchestration With Docker and Containers
141/141