DockerでWordPressの開発環境を用意
- 2020/06/08
- Docker
WordPress環境をdockerを使用してさくっと立ち上げる方法
$ mkdir wordpress
$ cd wordpress
$ touch docker-compose.yml
docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
container_name: wordpress_mysql
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
container_name: wordpress_container
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- ./yourtheme:/var/www/html/wp-content/themes/yourtheme/
volumes:
db_data:
docker-compose.ymlにコピペしてもらったら動きます。
なお、こちらは参照したサイトから引用させてもらっています。参照元にはrestart: always
が入っていますが、dockerを立ち上げる時の自動化はさせないようにしています。
テーマ作成については後ほど書きますが、テーマのディレクトリ名を変更したい場合はwordpressのvolumesのパス部分を適宜変更してください。
$ docker-compose up -d
http://localhost:8000 にアクセスするとWordPressのインストール画面が確認できます。
続いてテーマの作成
docker-compose.ymlのvolumesで書いたようにyourtheme
(サンプルなので好きな名前のディレクトリにしてください)のディレクトリを用意する必要があります。
ルートでテーマのディレクトリを作成
$ mkdir yourtheme
次にコンテナに入ってディレクトリを作成します。
$ docker exec -it wordpress_container /bin/bash
$ mkdir /var/www/html/wp-content/themes/yourtheme
$ exit
あとはルートにあるテーマディレクトリでテーマを作成していってください。
MySQLの操作
すでに自分のWordPressサイトを持っている場合など、MySQLに入って既存のsqlを読み込ませたりしてみてください。
$ docker exec -it wordpress_mysql bash
$ cd /var/lib/mysql
$ mysql -u root -p
// ルートパスをsomewordpressに設定しているのでsomewordpressと入力
その他便利なコマンド
シャットダウンとクリーンアップ
永続化しているためボリュームを削除したい場合は以下のコマンドを実行してください。
// コンテナとデフォルトネットワーク、WordPress DBのボリュームを削除を実行。
$ docker-compose down --volumes