TheNewStack Book3 Automation and Orchestration With Docker and Containers

download TheNewStack Book3 Automation and Orchestration With Docker and Containers

of 141

Transcript of TheNewStack Book3 Automation and Orchestration With Docker and Containers

  • 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