Dockerを本番で使ってみて分かったこと
by
Ryo Tomidokoro
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
DockerΛຊ൪ͰͬͯΈ͔ͯͬͨ͜ͱ PHPΧϯϑΝϨϯεԬ2017 *OOPWBUPS+BQBO*OD ॴ྄ &OHJOFFS
Slide 2
Slide 2 text
͓Βͤ εϥΠυSpeakerDeckʹΞοϓ͠·͕͢… ࡱӨࣗ༝ʹ͍ͯͯ͋͠Γ·ͤΜ !IBOIBO
Slide 3
Slide 3 text
ίϯςφʹڵຯ͋Γ·͔͢ʁ
Slide 4
Slide 4 text
໌Δͦ͏ͳະདྷ ࠒ͔Βͣͬͱ্ঢʹ͋Δ
Slide 5
Slide 5 text
Ξϯέʔτ w։ൃͰίϯςφ %PDLFS Λ͍ͬͯΔʁ wຊ൪ͰίϯςφΛӡ༻͍ͯ͠Δʁ
Slide 6
Slide 6 text
ࠓ͓͢Δ͜ͱ ࢲ͜͏ͬͨΑʂͷͰ͢
Slide 7
Slide 7 text
ׂͱී௨ͷ1)1FSͰ ΦϯϥΠϯυΩϡϝϯτͱॻ੶ΛཔΓʹ %PDLFSΛͬͨ։ൃʙຊ൪·Ͱ Ͱ͖Δ࣌ʹͳΓ·ͨ͠
Slide 8
Slide 8 text
ࠓ͓͢Δ͜ͱ ͜ΕͳΒࢲͰग़དྷͦ͏ͩͳʂ ͬͯࢥͬͯ͘ΕͨΒخ͍͠Ͱ͢ɻ
Slide 9
Slide 9 text
։ൃ εςʔδ ຊ൪ ӡ༻ ࠓίί
Slide 10
Slide 10 text
ԿΑΓ·ͣඞཁͳ͜ͱ
Slide 11
Slide 11 text
ίϯςφϨδετϦ ίϯςφ։ൃͷ த৺ɻ
Slide 12
Slide 12 text
ίϯςφϨδετϦ ໊લ ྉۚ ಛ Docker Cloud ༗ྉ ݩTutum Gitlab ແྉ private repoOK ͨ·ʹམͪΔ quay.io ༗ྉ ൃԻ[ki:] ACS EC2͏ͳΒແྉ awsίϚϯυͰ؆୯ೝূ GCP ༗ྉ CloudStorageͱωοτ ϫʔΫԼΓʹ՝ۚ ػೳେࠩͳ͍ɻར༻͍͢͠ॴͰྑ͍ɻ
Slide 13
Slide 13 text
ຊͷ࠷ॏཁࣄ߲
Slide 14
Slide 14 text
EPDLFSͷഁյతมߋ w dWͰϏϧυͯ͠ϨδετϦʹQVTI w WdͰQVMMग़དྷͳ͍ɻ IUUQEPDTEPDLFSKQFOHJOFCSFBLJOH@DIBOHFTIUNM
Slide 15
Slide 15 text
EPDLFSDPNQPTFͷόʔδϣϯ Compose Engine จ๏ ~1.6.x 1.09 v1 1.6.x~ 1.10 v2 1.6.x~ 1.12 v2.1 1.9.x~ 1.13~ v3 όʔδϣϯͱ͑Δจ๏ͷ͕͍ؔ͜͠
Slide 16
Slide 16 text
ϨδετϦΛ༻ҙͨ͠ΒΞϓϦͷ४උ
Slide 17
Slide 17 text
ΞϓϦέʔγϣϯͷߏ ΞϓϦɺϦϙδτϦɺ%PDLFSpMF͕ݪଇ WBHSBOUͬͨ։ൃͱײ֮ͱͯ͠ಉ͡
Slide 18
Slide 18 text
ΞϓϦέʔγϣϯͷߏ %PDLFSpMFνϥݟ தటष͍
Slide 19
Slide 19 text
ΞϓϦέʔγϣϯͷߏ ඞཁͳϛυϧΣΞ DPNQPTFͰఆٛ
Slide 20
Slide 20 text
ΞϓϦέʔγϣϯͷߏ EPDLFSDPNQPTFͷத ࣗͷΞϓϦCVJME طଘΠϝʔδQVMM
Slide 21
Slide 21 text
ΞϓϦέʔγϣϯͷߏ ͦͷଞͷϙΠϯτ wઃఆใڥม͔Β wωοτϫʔΫઃఆग़དྷΔ wDPNQPTFϑΝΠϧܧঝJODMVEF͕Մೳ
Slide 22
Slide 22 text
Ξϯνύλʔϯ ίϯςφىಈ࣌ʹίϯςφͷதΛॻ XFC্ʹɺ͜ͷखͷํ๏͕ྑ͘ॻ͍ͯ͋Δ wDPNQPTFSJOTUBMM wOQNJOTUBMM wHJUQVMM
Slide 23
Slide 23 text
ෳΞϓϦ։ൃͷ߹ ґଘΞϓϦϨδετϦܦ༝ͰQVMM ͜Ε͕ϨδετϦ͕࠷ॳʹඞཁͳཧ༝
Slide 24
Slide 24 text
Ξϯνύλʔϯ ϦϙδτϦͰ%PDLFSpMFΛूதཧ $*ͮ͠Β͍͠ɺڥߏஙखॱ͕ෳࡶ
Slide 25
Slide 25 text
ࢀߟใ -BSBWFMTLFMUPO https://github.com/hanhan1978/docker-laravel54-skelton
Slide 26
Slide 26 text
ࢀߟใ EPDLFSGPSNBD͍ https://blog.hanhans.net/2017/05/23/docker-for-mac-slow/ ᘳͱݴ͑ͳ͍͕ɺղফ͞Εͭͭ͋Δ
Slide 27
Slide 27 text
ࢀߟใ DPNQPTFSJOTUBMMͷΩϟογϡ https://blog.hanhans.net/2017/02/25/docker-cache-composer-install/
Slide 28
Slide 28 text
։ൃ εςʔδ ຊ൪ ӡ༻ ࠓίί
Slide 29
Slide 29 text
ίϯςφͷ࣮ߦڥΛ४උ ϚωʔδυɾαʔϏε ࣗલͰ४උ OR
Slide 30
Slide 30 text
ϚωʔδυɾαʔϏε (,&(PPHMF$POUBJOFS&OHJOF %PDLFS$MPVE4XBSN.PEF #&5"
Slide 31
Slide 31 text
ࣗલͰ४උ $PSF04 ,VCFSOFUFT .FTPT σϑΝΫτελϯμʔυɻུশ,4 ౷߹తͳίϯςφ࣮ߦڥͰϦιʔεϞχλଐ ࢲͬͨ͜ͱͳ͍ɻ ͱΓ͋͑ͣ,4ͱྑ͘ൺֱ͞ΕͯΔɻ 4XBSN.PEFͰ͍ͬͯΔྫԿ͔݅ݟ͔͚ͨɻ ,4ΑΓγϯϓϧ ˠ6QEBUF͕සൟ͗͢ΔͷͰࣗલӡ༻͓קΊ͠ͳ͍
Slide 32
Slide 32 text
͕ࣗͬͨ͜ͱ ,VCFSOFUFTXJUILVCFBXT "84Ͱ͖ͪΜͱ͓ۚΛ͔͚ΒΕΔͳΒ(PPE w"84্ʹࣗಈͰ,4Λઃஔ w$PSF04νʔϜ͕ϝϯς wઃఆมߋɺΠϯελϯεՃɺߋ৽ίϚϯυҰൃ wNMBSHFYΈ͍ͨͳߏ͕ਪ
Slide 33
Slide 33 text
Ξϯνύλʔϯ ͋Δఔͷن͕ແ͍ͱ,4ମແ͍ɻ
Slide 34
Slide 34 text
ݸਓత͓קΊ %PDLFS$MPVEͷ4XBSN.PEF༷ࢠݟ (,&(PPHMF$POUBJOFS&OHJOF
Slide 35
Slide 35 text
։ൃ εςʔδ ຊ൪ ӡ༻ ࠓίί
Slide 36
Slide 36 text
όονδϣϒ ࣮ߦڥຖʹιϦϡʔγϣϯ͕ҟͳΔ ,VCFSOFUFT$SPO+PCT .FTPT$ISPOPT ະݕূ 4XBSN.PEFແ
Slide 37
Slide 37 text
࣮ߦڥඇґଘͷδϣϒ DSPOઐ༻ίϯςφ͔ΒXFCIPPLΛୟ͘ ͪΐͬͱ໘͚ͩͲɺ࣮ߦڥʹࠨӈ͞Εͳ͍
Slide 38
Slide 38 text
$* CI Engine Compose Circle CI 1.09 (1.12) ࣗྗಋೖ Travis CI 1.12.3 ࣗྗಋೖ Codeship 17.3 ࠷৽ Docker-Cloud 17.3 ࠷৽ Shippable 1.09 (beta 1.10) ࣗྗಋೖ πʔϧຖʹରԠঢ়گϚνϚν https://speakerdeck.com/hanhan1978/sok-dockerwoshi-tutaphpapurikai-fa-tocinituite
Slide 39
Slide 39 text
Ξϯνύλʔϯ $*ɺޙͰઃఆ͢Ε͍͍ DPNQPTFͷίϚϯυ͕Ұ෦ඇରԠͩͬͨΓ ಋೖࢥ͍௨Γʹ͍͔ͳ͍
Slide 40
Slide 40 text
$*ϑΝʔετ $*ͷߟ͑ํ ॳظஈ֊͔Β$*Λઃఆͯ͠ݒ೦Λ͏ʂ ଞͷਓͷઃఆΛਅࣅΔɾύΫΔ
Slide 41
Slide 41 text
͓קΊͷ$* 5SBWJT$* %PDLFS$MPVE $PEFTIJQ ຊՈɻ(JUIVC࿈ܞͱ͔͍͢͝؆୯ɻ 7FSTJPOਵ͕ૣ͍ɻίϛϡχςΟʔ͕׆ൃɻ ͳΜ͔ͩΜͩ௵͕͠ޮ͘
Slide 42
Slide 42 text
ϩάܥ αʔόϩά ΞϓϦέʔγϣϯϩά qVFOUEίϯςφΛར༻ جຊతʹඪ४ग़ྗɻ ΤϥʔTMBDLɻͦͷଞඪ४ग़ྗɻ EPDLFSMPHTίϚϯυͰࢀর͢ΔͷͰجຊඪ४ग़ྗ
Slide 43
Slide 43 text
ใͷΩϟονΞοϓ TMBDLνϟϯωϧ .-ొ %PDLFSXFFLMZ %PDLFS ,4ڞʹଘࡏ
Slide 44
Slide 44 text
ใͷΩϟονΞοϓ ͦͷिͷͷهࣄ·ͱΊ
Slide 45
Slide 45 text
ͦΖͦΖ·ͱΊ·͢
Slide 46
Slide 46 text
νΣοΫϦετ ίϯςφϨδετϦΛ४උ ϦϙδτϦɺ̍ΞϓϦɺ%PDLFSpMF ىಈίϚϯυͰΰχϣΰχϣېࢭ ίϯςφͷ࣮ߦڥબఆ όονॲཧͷํܾࣜఆ $*πʔϧͷબఆઃఆ ϩάऩूઃఆ ΞϓϦέʔγϣϯͷΤϥʔ௨ ϦιʔεͷϞχλϦϯά
Slide 47
Slide 47 text
·ͩ·ͩམͱ݀͠ଟ͍
Slide 48
Slide 48 text
Ͱ ࢥͬͨΑΓશવ҆ఆͯ͠·͢ʂ
Slide 49
Slide 49 text
ͦΖͦΖࢼ࣌͠Ͱ͢
Slide 50
Slide 50 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠