Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
速習・Dockerと学ぶPHP / 20180310-PHPerKaigi
Search
Ayato
March 10, 2018
Technology
1
1.5k
速習・Dockerと学ぶPHP / 20180310-PHPerKaigi
2018年3月10日
PHPerKaigi 2018 LT資料
ココネリ練馬 にて
Ayato
March 10, 2018
Tweet
Share
More Decks by Ayato
See All by Ayato
WordPressのプラグイン更新しないでね問題 / 20170801-ARCANA-Meetup27
ayato
0
680
CodeIgniter Advent Calendar 2016を終えて / 20170214-CodeIgniterNight2
ayato
2
170
CodeIgniterと若者 加筆修正版 / 20161104-CodeIgniterNight-LT
ayato
0
420
Re:ゼロから始める求職生活 修正版 / 20161026-phpstudy-LT
ayato
0
290
Other Decks in Technology
See All in Technology
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
140
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
120
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.3k
20250623 Findy Lunch LT Brown
3150
0
840
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
100
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
200
Welcome to the LLM Club
koic
0
160
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
3
350
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
500
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
330
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
140
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Gamification - CAS2011
davidbonilla
81
5.3k
Done Done
chrislema
184
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A designer walks into a library…
pauljervisheath
206
24k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Fireside Chat
paigeccino
37
3.5k
Transcript
श DockerͱֶͿPHP @ayato_tw 2018/03/10 PhperKaigi 2018
ࡢͷલࡇ
ࡢͷલࡇ > PHPerͳΒ͜ΕΒΛ֮ࣗతʹ ʮ࡞Εʯ·͢ΑͶ řŏŕ
ڥߏஙΛεϚϗͰྫ͑Δ 1)1͕ಈ͘ αʔόʔ࡞ͬͯ εϚϗͰ 5XJUUFSݟΕΔ༷ʹͯ͠ 㱺
ڥߏஙΛεϚϗͰྫ͑Δ 1)1͕ಈ͘ αʔόʔ࡞ͬͯ ͪΖΜ(%ͱ͔ *NBHF.BHJDLͱ͔ಈ͘ΑͶ εϚϗͰ 5XJUUFSݟΕΔ༷ʹͯ͠ ͪΖΜެࣜΞϓϦೖΕΔΑ Ͷ
㱺
ڥߏஙΛεϚϗͰྫ͑Δ 1)1͕ಈ͘ αʔόʔ࡞ͬͯ ͪΖΜ(%ͱ͔ *NBHF.BHJDLͱ͔ಈ͘ΑͶ 0QFO44-͡Όͳͯ͘ -JCSF44-Ͱ εϚϗͰ 5XJUUFSݟΕΔ༷ʹͯ͠
ͪΖΜެࣜΞϓϦೖΕΔΑ Ͷ 2ஈ֊ೝূSMS͡Όͳͯ͘ ΞϓϦ 㱺
ͪͳΈʹձͰ 1. εϚϗͰTwitterݟͯΔਓ 2. εϚϗͰTwitterΛެࣜΞϓϦͰݟ͍ͯΔਓ 3. εϚϗͰTwitterΛެࣜΞϓϦͰݟ͍ͯͯɺ͔ ͭ2ஈ֊ೝূʹΞϓϦΛ͍ͬͯΔํ
ڥΛ࡞Δͱޡ͕ࠩੜ·ΕΔ • ͤΊͯϨγϐ͕͋Ε... 㱺 Ansible, Itamae • ͱ͍͏͔(ΊΜͲ͍͠)͍ճ͠ग़དྷΕ... 㱺
Docker
DockerΛͬͯΈΔ VagrantͷଞͷԾԽٕज़ׂѪ
Docker • ৭ΜͳॴͰศརʹ͑Δ༷ʹͳ͖ͬͯͯΔ • GCP / AWS / Azure ͰਐԽ͕ܹ͍͠
• ۙͳॴͩͱ ϩʔΧϧ։ൃڥ / CircleCI 2.0 • speakerdeck.com/kunit ݟͯʂ
DockerͷΠϝʔδ / ίϯςφ Πϝʔδ 㱺 ͍ΘΏΔʮzipͰ͘Εʯ ίϯςφ 㱺 ల։ޙͷϑΝΠϧ܈ (Έ͍ͨͳͷ)
DockerHub 㱺 DockerΠϝʔδ͕ެ։͞ΕͯΔॴ ≒ GitHub
DockerͷΠϝʔδ / ίϯςφ ͜ΕͰڥͷ͍ճ͕͠ग़དྷΔʂ 1. hub.docker.com ͰΠϝʔδΛ୳͢ 2. ΠϝʔδΛ࣋ͬͯ͘Δ (docker
pull) 3. ίϯςφΛىಈͯ͠͏ (docker run, docker exec, …)
DockerͷΠϝʔδ / ίϯςφ εϚϗͷྫ͑Ͱݴ͏ͱ 1. ళฮͰTwitterެࣜΞϓϦͷઃఆ͕ऴΘͬͨεϚϗΛ୳͢ 2. εϚϗΛങ͏ 3. ిݯΛೖΕͯ͏
؆୯ʂɹ(ྫ͔͑ͩΒళฮා͍ͱ͔ݴΘͳ͍)
Dockerfile • shell script ͬΆ͍ͷ • Πϝʔδͷ࡞Γํ • ళฮͷઃఆϚχϡΞϧతͳ •
ྫͱͯ͠ wordpress:4.9-php56-apache ͷ DockerΠϝʔδΛௐͯΈΔ
wordpress:4.9-php56-apache • hub.docker.com/_/wordpress/ ΞΫηε • 4.9-php5.6-apache λάͷ Dockerfile ΛݟͯΈΔ 㱺
GitHubʹ Dockerfile ͕ஔ͍ͯ͋Δ • FROM ͱ RUN ͷॴʹ 㱺 gd / mysqli / opcache ೖͬͯΔ 㱺 WordPressຊମઃஔࡁΈ • ͋Εɺapacheʁ
FROM ۟ΛḷΔ • FROM php:5.6-apache ͳͷͰ hub.docker.com/_/php/ ΞΫηε • 5.6-apache
λάΛݟΔ 㱺 ͜ΕGitHubͰDockerfileΛݟͯΈΔ ...ͱ͍͏ײ͡ͰDockerfile८Γͷཱྀ͕ग़དྷ·͢ ྑ͍ઃఆਅࣅ͠Α͏ʂ(ϥΠηϯεOKͳΒ)
Dockerʹڵຯ͕͋Ε DockerެࣜΠϝʔδΛݟͯΈͨΓ hub.docker.com/r/library/ ެࣜυΩϡϝϯτͷຊޠ༁ΛಡΜͰΈͨΓ ҎԼͷΩʔϫʔυͰάάͬͯΈͨΓ • docker-php-ext-install • docker-compose
• ϓϥΠϕʔτϨδετϦ
࠷ޙʹ Dockerfile८ΓͷཱྀΛ͠ͳ͕Β PHPͱDockerΛಉ࣌ʹษڧͯ͠Έ·͠ΐ͏ʂ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ