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
WordPress開発環境をDockerで構築する
Search
Chiku_chu
September 22, 2019
Programming
1
86
WordPress開発環境を Dockerで構築する
WordPressの開発環境をDockerで構築します
Chiku_chu
September 22, 2019
Tweet
Share
More Decks by Chiku_chu
See All by Chiku_chu
心理的安全性とリモートワーク
chikuchu
1
150
TokyoWordPressMeetup1019_まとめ
chikuchu
2
1k
Docker Compose でWordPress環境構築してみる
chikuchu
0
630
WordPress ライセンスのお話
chikuchu
1
480
初心者でもできるWordPressのセキュリティ対策@WordBench羽田 11/4
chikuchu
2
690
mautic_meetup.pdf
chikuchu
0
25
Other Decks in Programming
See All in Programming
クラシルを支える技術と組織
rakutek
0
190
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
660
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
310
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
690
Model Pollution
hschwentner
1
180
気づいて!アプリからのSOS 〜App Store Connect APIで始めるパフォーマンス健康診断〜
waka12
0
250
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
150
CSC305 Lecture 04
javiergs
PRO
0
230
実践AIチャットボットUI実装入門
syumai
7
2.4k
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.6k
defer f()とdefer fの挙動を 誤解していた話
kogamochiduki
2
160
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
120
Featured
See All Featured
Site-Speed That Sticks
csswizardry
11
870
GitHub's CSS Performance
jonrohan
1032
460k
Six Lessons from altMBA
skipperchong
28
4k
Building an army of robots
kneath
306
46k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Why Our Code Smells
bkeepers
PRO
339
57k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Agile that works and the tools we love
rasmusluckow
330
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
How to Think Like a Performance Engineer
csswizardry
27
2k
Transcript
WordPress開発環境を Dockerで構築する WordPress Meetup Haneda 2019/09/22 by ちくちゅう
1. ⾃⼰紹介 2 • 名前 ︓ちくちゅう(⽵=ちく 中=ちゅう) • TW ︓@chiku_chu
• 本業 ︓フリーランス 認定スクラムマスター ITコンサル(PM、IT企画、インフラ、セキュリティ) サーバーサイド(PHP、Python、AWS) フロントエンドちょっと • 趣味 ︓運動、料理、登⼭ • WordPress ︓2012年頃から受託開発 との出会い 2013年 WordCampTokyo初参加 2014年 WordCampTokyo運営委員 2019年 WordCampHaneda運営委員 他、WordPressMeetupのモデレータなど
2. 今⽇の発表 l 概要 WordPressの開発環境をDockerで構築する⼿順を お話しします l どんな⼈向けのお話か ・WordPressの開発やカスタマイズをする環境を 作りたい⼈
・現在Xampp/Mamp、Vagrantを使っている開発者 3
3. WordPressの開発の流れ 4 1. ローカル環境で コーディング、 テスト 2. Gitへコミット 3.
本番環境へ リリース ここの話 l ⼀般論
4. 開発環境の選択肢 5 1. Xampp/mamp ローカル環境にサーバー構築 2. Vagrant 仮想環境︓ホスト型 3.
Docker 仮想環境︓コンテナ型 _⼈⼈⼈⼈⼈⼈⼈⼈_ > 本番直接編集 <  ̄Y^Y^Y^Y^Y^Y^ ̄ 4 l だいたいこの3つ︖
5. VagrantとDockerの⽐較 6 Docker Vagrant ホストOS コンテナエンジン (Docker) コンテナ コンテナ
アプリ アプリ アプリ ホストOS 仮想化ソフトウェア ゲストOS ゲストOS アプリ アプリ アプリ Ø ゲストごとにCPU/メモリ/ ストレージを割り当て Ø ゲストOSの容量が⼤きい (数 GB〜) Ø 別環境で動作させるために ネットワーク設定等が改めて 必要 Ø コンテナ全体でCPU/メモリを 共有 コンテナのサイズは仮想化に ⽐べて⼩さい Ø 可搬性が⾼い Ø ホストOSと異なるカーネル⽤ イメージは使えない
5. VagrantとDockerの⽐較 7 . VagrantDocker 7 . VagrantDocker 7
6. コンテナエンジンをインストール 8 Docker for Mac https://docs.docker.com/docker-for-mac/install/ Docker for Windows
https://docs.docker.com/docker-for-windows/install/ l インストール
7. コンテナイメージを取得Docker Hub 9 l Docker Hub コンテナイメージのリポジトリ https://hub.docker.com/ www.docker.comでIDを作成
ここに⼊れる Ø WordPress https://hub.docker.com/_/wordpress Ø MySQL https://hub.docker.com/_/mysql
8. フォルダ構造と設定ファイル 10 github.com/chikuchu/docker-wordpress から docker-compose.yml をダウンロードして任意のフォルダに配置 l docker-compose.yml (Mac⽤)
Users/ (Your Account) / Docker/ Wordpress/ app/ このへんの フォルダ名 は任意 db/ docer-compose.yml
8. フォルダ構造と設定ファイル 11 l 詳しくはリファレンス参照 http://docs.docker.jp/compose/compose-file.html Ø Service コンテナで動かすアプリケーションの種類と設定 Ø
Network(割愛) コンテナ環境のネットワーク設定 Ø Volumes コンテナが利⽤するストレージの設定
8. フォルダ構造と設定ファイル 12 db: image: mysql:5.7 container_name: wpdev_mysql volumes: -
database:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress l Service︓DB ・Docker Hubのイメージ名 ・コンテナ名(任意) ・サービス名(任意) ・利⽤するボリューム Volume名︓コンテナ内内のパス ・設定 rootパスワード データベース名 接続⽤ユーザー名 接続⽤ユーザーのパスワード
8. フォルダ構造と設定ファイル 13 wordpress: image: wordpress:latest container_name: wpdev_app volumes: -
wordpress:/var/www/html depends_on: - db ports: - "8001:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpress l Service︓WordPress ・Docker Hubのイメージ名 ・コンテナ名(任意) ・サービス名(任意) ・利⽤するボリューム Volume名︓コンテナ内内のパス ・設定 DBホスト名︓ポート DB接続パスワード ・セットで利⽤する別コンテナ のサービス名 ・ポートフォワーディング設定 外向けのポート︓コンテナ内のポート
8. フォルダ構造と設定ファイル 14 wordpress: driver_opts: type: none device: /Users/chikuchu/docker/wordpress/app/ o:
bind database: driver_opts: type: none device: /Users/chikuchu/docker/wordpress/db/ o: bind l Volumes ・ボリューム名(任意) Service側で指定した名前と⼀致する必要あり ・ローカルフォルダのパス ※type、o:bindはボリュームの永続化
10. 起動︕ 15 l 起動コマンド docker-compose.ymlを置いたディレクトリで 以下のコマンドを実⾏ docker-compose up –d
10. 操作コマンド 16 l その他のコマンド Ø 停⽌ docker-compose down Ø
再起動 docker-compose restart Ø コンテナ内でコマンド実⾏ docker-compose run コンテナ名 コマンド
12. 次のステップ 17 l 次回 どちらかの話をします ØAmazon ECS で本番環境でDocker運⽤ ØKubernetesでオーケストリんぐ
おしまい 18 Thank you!