dockerでワードプレスのテーマを作成する際の開発環境構築手順をまとめました。 フォルダをマウントする設定もしているため、編集したソースコードの動作確認がすぐできて楽ちん。

私が行った際の環境は以下の通り。

macOS Sierra version 10.12.5
VirtualBox version 5.1.22
docker version 17.05.0-ce
docker-machine version 0.10.0
docker-compose version 1.13.0

この記事を見て試される方は、共有フォルダのパスなどを適宜修正して使ってください。

dockerのインストール

Docker Toolbox

私はすでにDockerをインストールしていたのですが、されていない方はこちらを見てインストールしてください。 これで、VirtualBoxにdefaultという仮想マシンが作成されていると思います。 この仮想マシンの中で、wordpressに必要なサーバ類のインストールを行っていきます。

セットアップ

defaultの仮想マシンにログイン

$ docker-machine ssh

Docker Machine のインストール もしdocker-machineのコマンドが使えなかったら、こちらを参考にインストールして見てください。

docker-composeをインストール

docker-machine sshコマンドでログインしてdocker-composeコマンドを使おうとしたら使えなかったので、インストールしました。

docker@default:~$ sudo curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /home/docker/.local/bin/docker-compose
docker@default:~$ sudo chmod +x /home/docker/.local/bin/docker-compose
docker@default:~$ docker-compose --version

docker-compose.ymlファイルを作成

version: '2'
services:
  db:
    image: mysql:5.7
    volumes:
      - "./.data/db:/var/lib/mysql"
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    links:
      - db
    ports:
      - "8000:80"
    restart: always
    volumes:
      - "./:/var/www/html"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_PASSWORD: wordpress

クイックスタート・ガイド:Docker Compose と Wordpress

こちらで公開されているdocker-compose.ymlファイルを少し修正して、「wordpress->volumes」で同期をとる設定をしました。 ここの設定は、"[ホスト側のパス]:[コンテナのパス]"と指定します。 同期をとる際、ホスト側のパスで指定したフォルダの中身は空にしないと、同期が上手くいかない時があるっぽいです。

起動

docker@default:~$ docker-compose up -d

アクセス

http://[docker-machineのIP]:8000でアクセスできるか確認。 私の場合はhttp://192.168.99.100:8000/でした。

上手くいけばワードプレスのインストール画面が表示されるはずです!

参考