Slide 1

Slide 1 text

7"4*-: *OD 1BDLFSͰ ͪΌΜͱ%PDLFS͢Δʂ 8FC5FDI5PLZP
 ʢ%PDLFS5JQTڞ༗ձʣ

Slide 2

Slide 2 text

7"4*-: *OD ࣗݾ঺հ wޫ໺ୡ࿕5BUTVSP.JUTVOP !LPUBUTV w7"4*-: *OD*OGSB&OHJOFFS wʙ w҆ͯ͘଎ͯ҆͘શͳΠϯϑϥΛ࡞Δ wੜ࢈ੑΛ޲্ͤ͞ΔऔΓ૊Έ झຯ *DPOJMMVTUSBUFECZ:04)* IUUQTXXXGBDFCPPLDPNZPTIJZPOF

Slide 3

Slide 3 text

7"4*-: *OD

Slide 4

Slide 4 text

7"4*-: *OD ຊ୊1BDLFSͰʮͪΌΜͱʯ%PDLFS͢Δʂ XJUI

Slide 5

Slide 5 text

7"4*-: *OD લஔ͖ฐࣾͷΠϯϑϥࣄ৘ SFGίϚϯυͰຊ൪αʔόͱ։ൃαʔό ͷ7.Πϝʔδ Λ࡞Δ࿩ʹҠߦͨ͠࿩ ΄΅౳͍͠ ؀ڥΛ࣮ݱ 7.ΠϝʔδΛ
 ूத؅ཧɾಉ࣌ੜ੒ EFW QSPE

Slide 6

Slide 6 text

7"4*-: *OD લஔ͖ฐࣾͷΠϯϑϥࣄ৘ SFGίϚϯυͰຊ൪αʔόͱ։ൃαʔό ͷ7.Πϝʔδ Λ࡞Δ࿩ʹҠߦͨ͠࿩ EPDLFSΠϝʔδ͚ͩಛผѻ͍͠ͳ͍ӡ༻ମ੍ͷߏங ຊൃදͷൣғ 7.ΠϝʔδΛ
 ूத؅ཧɾಉ࣌ੜ੒ EFW QSPE

Slide 7

Slide 7 text

7"4*-: *OD ෆ҆1BDLFSͰʮͪΌΜͱʯ%PDLFSͰ͖Δ͔ʁ ʮͪΌΜͱʯ%PDLFSpMFͱಉ౳ͷࣄ͕Ͱ͖Δࣄ

Slide 8

Slide 8 text

7"4*-: *OD ͖ͬͱΑΏʔͬ͢Α ˜PLBEBQBO

Slide 9

Slide 9 text

7"4*-: *OD ͩΊͰͨ͠ ˜PLBEBQBO

Slide 10

Slide 10 text

ʢҙ༁ʣQBDLFSͰEPDLFSΠϝʔδ࡞Δඞཁ͋Δʁ
 ίΞػೳͳ͍͡ΌΜ ʢҙ༁ʣྑ͍࣭໰Ͱ͢Ͷɻ

Slide 11

Slide 11 text

7"4*-: *OD ੍໿ϝλσʔλͷදݱ͕Ͱ͖ͳ͍ %PDLFSpMFͷॻࣜ දݱՄೳ͔ʁ උߟ '30. 36/ QSPWJEFSͰදݱ "%% QSPWJEFSͰදݱ $01: QSPWJEFSͰදݱ 0/#6*-% QSPWJEFSͰදݱ 4)&-- ❓ TIFMMQSPWJEFSͷJOMJOF@TIFCBOHͰදݱʁ ."*/5"*/&3 $.% -"#&- 
 &9104& &/7 &/53:10*/5 
 70-6.& 64&3 803,%*3 
 "3( 45014*(/"- 
 )&"-5)$)&$, ❌

Slide 12

Slide 12 text

7"4*-: *OD ࢼߦࡨޡ w %PDLFSpMFΛ1BDLFSʹಡΈࠐ·ͤΔํ๏Λௐࠪ w %PDLFSͷϝλσʔλ֨ೲ৔ॴΛίʔυ͔Β௥੻ w 1BDLFSͱ%PDLFSpMFΛγΣϧεΫϦϓτͰғΜͰݟΔ w

Slide 13

Slide 13 text

7"4*-: *OD ࠷ऴతʹϓϥάΠϯΛ࠾༻ wQBDLFSQPTUQSPDFTTPSEPDLFSEPDLFSpMF wઌఔͷJTTVFͰొ৔

Slide 14

Slide 14 text

7"4*-: *OD ಺෦Ͱ%PDLFSpMFΛੜ੒࣮ͯ͠ߦ { "type": "docker-dockerfile", "volume": ["/data"] "expose": [8080], "cmd": ["bash"], "env": { "FOO": "bar" } }

Slide 15

Slide 15 text

7"4*-: *OD "RepoTags": [ "nginx-test:latest" ], "DockerVersion": "1.12.1", "Author": "Tatsuro Mitsuno (@kotatsu360)", "Config": { "User": "vasily", "ExposedPorts": { "443/tcp": {}, "80/tcp": {} }, "Env": [ "PATH=/usr/local/sbin: ...", "VASILY=YEAH" ], "Cmd": [ "nginx", "-g", "daemon off;" ] } "post-processors": [ [ { "type": "docker-tag", "repository": "nginx-test", "tag":"latest" }, { "type": "docker-dockerfile", "maintainer": "Tatsuro Mitsuno (@kotatsu360)", "user": "vasily", "expose": [80, 443], "cmd": ["nginx", "-g", "daemon off;"], "env": { "VASILY": "YEAH" } } ] ] QBDLFS༻ͷKTPOͷҰ෦ EPDLFSJOTQFDUͷҰ෦

Slide 16

Slide 16 text

7"4*-: *OD 1SPT wίϯςφͷ࡞੒Λ1BDLFSͷ+40/ʹू໿
 ϝλσʔλͷએݴ΋ग़དྷΔ

Slide 17

Slide 17 text

7"4*-: *OD $POT w݁ہ%PDLFSpMFΛॻ͘ͷͱେࠩͳ͍
 ͋ͱ͸ϙϦγʔͷ໰୊ɹू໿PSྲّྀʹै͏

Slide 18

Slide 18 text

7"4*-: *OD ಋೖʹؔͯ͠஫ҙ w%PDLFSWҎ߱Λ࢖͏ͳΒSP[IBࢯʹΑΔGPSL൛͕Φεεϝ
 IUUQTHJUIVCDPNSP[IBQBDLFSQPTUQSPDFTTPSEPDLFSEPDLFSpMFUSFF W wEPDLFSUBHͷGΦϓγϣϯഇࢭʹ൐͏मਖ਼ΛؚΉ
 IUUQEPDTEPDLFSKQFOHJOFEFQSFDBUFEIUNMEPDLFSUBHG w13ʹ΋ͳ͍ͬͯΔͷͰ͍ۙ͏ͪʹऔΓࠐ·Εͦ͏
 IUUQTHJUIVCDPNDPSOGFFEIPCPQBDLFSQPTUQSPDFTTPSEPDLFS EPDLFSpMFQVMM

Slide 19

Slide 19 text

7"4*-: *OD ·ͱΊ w1BDLFSͰʮͪΌΜͱʯ%PDLFSΠϝʔδΛ࡞Δํ๏Λ঺հ wݱঢ়ɺ1BDLFS୯ମͰ͸ʮͪΌΜͱʯ%PDLFS͢Δͷ͸ແཧ wϓϥάΠϯͰϑΥϩʔ͢Δ͜ͱͰ࣮ݱՄೳ wखؒ͸%PDLFpMFͱ͋·ΓมΘΒͳ͍

Slide 20

Slide 20 text

7"4*-: *OD ิ଍ฐࣾͷ%PDLFSࣄ৘ ΞϓϦέʔγϣϯαʔό
 ࠓ೔ͷ࿩
 ຊ൪౤ೖલͷݕূத
 %PDLFSXJUI1BDLFS
 "%഑৴αʔό
 ຊ൪ӡ༻ʙ
 BMQJOFϕʔε
 &MBTUJD#FBOTUBMLXJUINVMUJDPOUBJOFS SFGXJUINVMUJDPOUBJOFS%PDLFSΛQSPEVDUJPOͰ೥ؒӡ༻ͯ͠ى͖ͨ͜ͱ SFG&MBTUJD#FBOTUBMLXNVMUJDPOUBJOFSEPDLFS࠷৽ࣄ৘ "OESPJEΞϓϦͷ$*؀ڥ
 ຊ൪ӡ༻ʙ
 VCVOUVϕʔε
 %PDLFSPO8FSDLFS SFG"OESPJEͷ$*؀ڥΛ$JSDMF$*͔Β8FSDLFSʹҠߦ͠·ͨ͠

Slide 21

Slide 21 text

7"4*-: *OD 8FBSFIJSJOH IUUQTXXXXBOUFEMZDPNDPNQBOJFTWBTJMZJOGP ˜PLBEBQBO