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
96
1
Share
WordPress開発環境を Dockerで構築する
WordPressの開発環境をDockerで構築します
Chiku_chu
September 22, 2019
More Decks by Chiku_chu
See All by Chiku_chu
心理的安全性とリモートワーク
chikuchu
1
160
TokyoWordPressMeetup1019_まとめ
chikuchu
2
1.1k
Docker Compose でWordPress環境構築してみる
chikuchu
0
650
WordPress ライセンスのお話
chikuchu
1
500
初心者でもできるWordPressのセキュリティ対策@WordBench羽田 11/4
chikuchu
2
700
mautic_meetup.pdf
chikuchu
0
42
Other Decks in Programming
See All in Programming
JavaDoc 再入門
nagise
0
220
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
250
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
140
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
270
Oxlintのカスタムルールの現況
syumai
5
910
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
AIとRubyの静的型付け
ukin0k0
0
470
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
230
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
140
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3.1k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
540
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Scaling GitHub
holman
464
140k
KATA
mclloyd
PRO
35
15k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Building AI with AI
inesmontani
PRO
1
1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
HDC tutorial
michielstock
2
680
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
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!