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 Compose & BuildKit Docker Meetup Tokyo #32 #DockerTokyo @orisano
Slide 2
Slide 2 text
docker-compose ͍ͬͯΔਓ
Slide 3
Slide 3 text
ศརͰ͢ΑͶ
Slide 4
Slide 4 text
ෳͷίϯςφΠϝʔδΛ ؆୯ʹ͑Δ
Slide 5
Slide 5 text
ͳΜͳΒ ίϯςφҰͭͰ docker-compose͏
Slide 6
Slide 6 text
࣮ߦ࣌ͷύϥϝʔλΛ ϑΝΠϧʹهड़Ͱ͖Δ
Slide 7
Slide 7 text
up —buildͰ buildͱrun͕ಉ࣌ͰͰ͖Δ
Slide 8
Slide 8 text
࠷ߴ
Slide 9
Slide 9 text
ͱ͜ΖͰ
Slide 10
Slide 10 text
docker-compose build ͍ͬͯΔਓ͍·͔͢ʁ
Slide 11
Slide 11 text
͍ͳ͍Ͱ͢ΑͶ… (ҙ֎ͱ͍Δͷ͔)
Slide 12
Slide 12 text
docker-compose up —build ͬͪΌ͍·͢ΑͶ
Slide 13
Slide 13 text
Ͱ docker-composeͷbuild ॏ͘ͳ͍Ͱ͔͢?
Slide 14
Slide 14 text
docker build͕͍ͱ ΠϥΠϥ͠·ͤΜ͔?
Slide 15
Slide 15 text
BuildKit͍ͨ͘ͳ͍Ͱ͔͢?
Slide 16
Slide 16 text
docker-compose Ͱ BuildKit Λ͑ΔΑ͏ʹͨ͠
Slide 17
Slide 17 text
“͑ΔΑ͏ʹͨ͠” ͳͷͰ ͱͱ͑ͳ͔ͬͨ
Slide 18
Slide 18 text
ͳͥͳͷ͔
Slide 19
Slide 19 text
ͦͦ docker-composeͷbuild ԿΛ͍ͬͯΔͷ͔
Slide 20
Slide 20 text
docker-composeͷbuild γϯϓϧͰ yamlͷ༰͔ΒparameterΛ औΓग़ͯ͠build͢Δ
Slide 21
Slide 21 text
͜͜ͰҰ୴
Slide 22
Slide 22 text
docker build ͷΈ
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
ؾʹͳͬͨํ https://speakerdeck.com/orisano/container-build-talk
Slide 27
Slide 27 text
docker-composeࣗମ docker/cli͕ͳͯ͘ಈ͘
Slide 28
Slide 28 text
docker-compose docker-pyΛ͍ͬͯΔ
Slide 29
Slide 29 text
docker-py dockerdͷAPIΛୟ͘ python client
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
docker-compose image໊Λ࡞Δ͚ͩͷػߏʹ ͍ۙ
Slide 32
Slide 32 text
imageʹ {project}_{service} Έ͍ͨͳ໊લΛ͚ͭͯ APIΛݺͿ
Slide 33
Slide 33 text
ͳͥ BuildKit͕͑ͳ͍ͷ͔
Slide 34
Slide 34 text
BuildKit ίϯςΩετΛࠩసૹ͢Δ
Slide 35
Slide 35 text
ࠩసૹ(fssync) grpc
Slide 36
Slide 36 text
docker-pyʹͦΕ͕ ࣮͞Ε͍ͯͳ͍
Slide 37
Slide 37 text
pythonͰ࣮͢Δͷ ͕͔͔࣌ؒΓͦ͏…
Slide 38
Slide 38 text
Issue্͕͕ͬͯࢭ·͍ͬͯͨ
Slide 39
Slide 39 text
࠳
Slide 40
Slide 40 text
ͱ͍͑ docker-compose build ͕͍ͷࠔΔ
Slide 41
Slide 41 text
͘͢͝ࠔΔ
Slide 42
Slide 42 text
@AkihiroSuda͞Μʹ ͱΓ͋͑ͣ૬ஊͯ͠ΈΔ
Slide 43
Slide 43 text
@AkihiroSuda͞Μ͔Β ʮexec͢Δ͕ͭྑͦ͞͏ʯ ͱݴΘΕΔ
Slide 44
Slide 44 text
࣮ͯ͠PR (—exec) docker/compose#6584 (2019/3/15)
Slide 45
Slide 45 text
4/4 thaJeztah͔Βίϝϯτ ΞϧϑΝϕοτॱʹ͠ͳ͍ͷʁ ͱͱͦ͏͡Όͳ͍
Slide 46
Slide 46 text
4/5 ulyssessouza͔Βίϝϯτ ΞϧϑΝϕοτॱʹ͠ͳ͍ͷʁ ͱͱͦ͏͡Όͳ͍
Slide 47
Slide 47 text
4/24 ulyssessouza͔Βίϝϯτ —exec ͬͯඍົ͡Όͳ͍? ͳΜ໊͔͍͍લͳ͍?
Slide 48
Slide 48 text
5/16 ulyssessouza͔Βίϝϯτ —cli͕ྑͦ͞͏
Slide 49
Slide 49 text
6/6 ulyssessouza ٳΈʹೖΔ
Slide 50
Slide 50 text
6/13 thaJeztah͔Βίϝϯτ ̎ͭ͘Β͍ߟ͑Δ͜ͱ͕ ͋Γͦ͏
Slide 51
Slide 51 text
6/14 thaJeztah͔Βίϝϯτ ͜͏͍͏ਐΊํͲ͏?
Slide 52
Slide 52 text
7/19 thaJeztah͔Βίϝϯτ ulyssessouzaͱٞͨ͠
Slide 53
Slide 53 text
8/13 ulyssessouza͔Βίϝϯτ —cliΛΊͨ COMPOSE_NATIVE_BUILDER=1
Slide 54
Slide 54 text
8/20 thaJeztah͔Βίϝϯτ docker-compose up —build Ͱಉ͡ಈ͖Λͯ͠΄͍͠
Slide 55
Slide 55 text
8/22 ରԠ
Slide 56
Slide 56 text
8/22 PR close(!!!!!!!!)
Slide 57
Slide 57 text
8/22 docker/compose#6865 ulyssessouza ʹΑΓ PR͕৽نʹ࡞ΒΕΔ
Slide 58
Slide 58 text
8/22~24 ಈ͖ͳ͠
Slide 59
Slide 59 text
8/25~8/29 @orisano ՝Λશ෦ղܾ
Slide 60
Slide 60 text
8/30 ແࣄϚʔδ
Slide 61
Slide 61 text
࣍ͷrc͔Β COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 Ͱ͑ΔΑ͏ʹͳΓ·͢
Slide 62
Slide 62 text
ޤ͏͝ظ
Slide 63
Slide 63 text
ֶͼ
Slide 64
Slide 64 text
ϑϥάΛՃ͢Δ͜ͱ ϝϯςφϯείετ͕ ൃੜ͢Δ͜ͱΛҙࣝ͢Δ
Slide 65
Slide 65 text
ڥม͔Β࢝ΊͯΈΔ
Slide 66
Slide 66 text
͜΅Ε
Slide 67
Slide 67 text
docker build ͷ݁Ռ streamͰྲྀΕͯ͘Δͷ͕ͩ
Slide 68
Slide 68 text
docker-composeͦͷதͷ Successfully Built ͱ͍͏จࣈྻ͔Β ݁ՌΠϝʔδͷid Λऔಘ͍ͯ͠Δ
Slide 69
Slide 69 text
ϨϏϡʔ࣌ʹ ͳʹ͜ΕͱݴΘΕ͕ͨ ͳʹ͜Εͱࢥͬͨ
Slide 70
Slide 70 text
͜΅Ε2
Slide 71
Slide 71 text
࣮͜Εͱಉ࣌ظʹ docker-composeͷ cache-fromͰࠔΔͱ͜Ζ͕ ͋ͬͨͷͰPR
Slide 72
Slide 72 text
ͦΕ͙͢ʹϚʔδ͞Εͨ
Slide 73
Slide 73 text
cache_fromʹ ڥมΛ͔ͨͬͨ͠
Slide 74
Slide 74 text
͢ͱಈ͍ͨ CI͕շదʹͳͬͨ
Slide 75
Slide 75 text
ϩʔΧϧͰ ຖճϑϧϏϧυ͕ ͠ΔΑ͏ʹͳͬͨ
Slide 76
Slide 76 text
ࠈ
Slide 77
Slide 77 text
docker buildͷ༷Ͱ —cache-fromʹͳʹ͔͢ͱ ϩʔΧϧͷΩϟογϡ͕ ޮ͔ͳ͘ͳΔ
Slide 78
Slide 78 text
ৄ͘͠ ͪΌΜͱཧղ͢Δdocker build cache https://orisano.hatenablog.com/entry/2018/12/17/025931
Slide 79
Slide 79 text
ࢦఆ͞ΕͨΠϝʔδ͕ ଘࡏ͠ͳ͍߹ແࢹ͢Δ
Slide 80
Slide 80 text
ڥมʹͳʹ͔༩͑ͳ͍ͱ cache-fromʹۭจࣈྻ͕…
Slide 81
Slide 81 text
ࠓͰ docker-composeଆͰ ۭͷΠϝʔδແࢹ͢Δ Α͏ʹͳΓ·ͨ͠
Slide 82
Slide 82 text
ΊͰͨ͠
Slide 83
Slide 83 text
͜΅Ε3
Slide 84
Slide 84 text
ࠓճͷPR Ϛʔδ·Ͱ5ϲ݄͔͔ͬͨ
Slide 85
Slide 85 text
5ϲ݄ؒ͑Δͷ ແཧͩͬͨͷͰखݩͰ ࣗͷforkΛ͍ͬͯͨ (ͬͯ͘ΕΔϑΝϯͷํ͕͍ͨ)
Slide 86
Slide 86 text
ͦΕΛϓϩδΣΫτͷ makeʹՃ͢ΔΘ͚ʹ ͍͔ͳ͔ͬͨ
Slide 87
Slide 87 text
Ͳ͏ʹ͔Ͱ͖ͳ͍ͩΖ͏͔
Slide 88
Slide 88 text
ࢥ͍ग़͢
Slide 89
Slide 89 text
docker-compose image໊Λ࡞Δ͚ͩͷػߏʹ ͍ۙ
Slide 90
Slide 90 text
imageʹ {project}_{service} Έ͍ͨͳ໊લΛ͚ͭͯ APIΛݺͿ
Slide 91
Slide 91 text
ͭ·Γ
Slide 92
Slide 92 text
docker-composeͷ ͏໊લͰdocker build͢Δ ͜ͱʹͯ͠ճආͨ͠
Slide 93
Slide 93 text
࠷ߴͷମݧ (͏ෆཁͰ͕͢)