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
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
420
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.5k
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
120
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.4k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
配列に見る bash と zsh の違い
kazzpapa3
1
150
Context Engineeringの取り組み
nutslove
0
350
AWS Network Firewall Proxyを触ってみた
nagisa53
1
230
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
560
Tebiki Engineering Team Deck
tebiki
0
24k
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
190
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
KATA
mclloyd
PRO
34
15k
Become a Pro
speakerdeck
PRO
31
5.8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Music & Morning Musume
bryan
47
7.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Writing Fast Ruby
sferik
630
62k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
30 Presentation Tips
portentint
PRO
1
220
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Λಉ࣌ʹษڧͯ͠Έ·͠ΐ͏ʂ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ