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.6k
速習・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
180
CodeIgniterと若者 加筆修正版 / 20161104-CodeIgniterNight-LT
ayato
0
430
Re:ゼロから始める求職生活 修正版 / 20161026-phpstudy-LT
ayato
0
300
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
760
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
20260204_Midosuji_Tech
takuyay0ne
1
160
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
150
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
240
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
470
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Between Models and Reality
mayunak
1
190
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
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Λಉ࣌ʹษڧͯ͠Έ·͠ΐ͏ʂ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ