thenewstack book3 automation and orchestration with docker and containers

Upload: cristhian-rey

Post on 06-Jul-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 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