DockerでWordPressの開発環境を用意

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

引用元

関連記事