Docker Compose でWordPress環境を作ってみる
こんにちは、ishidaです。最近、猫カフェにハマってます。
Dockerを先日インストールしたので、WordPress環境を作ってみたいと思います。
開発環境
・macOS Mojave 10.14.4
・Docker version 18.09.2
Docker Composeとは
公式サイトには、
Compose とは、複数のコンテナを使う Docker アプリケーションを、定義・実行するツールです。Compose はアプリケーションのサービスの設定に、Compose ファイルを使います。そして、コマンドを1つ実行するだけで、設定した全てのサービスを作成・起動します。
と書いてあります。
コマンド1つだけで、複数のサービスを作成・起動が出来るようになります。
超便利ですね。
Docker のインストール
まずはDocker Desktopをインストールしていきましょう。
公式サイトからダウンロードしてきます。
※ダウンロードには会員登録が必要です。
無事にインストールできたか確認してみます。
ターミナルを起動して以下のコマンドを実行します。
$ docker -v
Docker version 18.09.2, build 6247962
$ docker-compose -v
docker-compose version 1.23.2, build 1110ad01
dockerがインストールされれば、
docker-composeもあわせてインストールされます。
docker-compose.ymlの作成
適当なディレクトリを作り、docker-compose.ymlを作成します。
$ mkdir wp
$ cd wp
$ vi docker-compose.yml
docker-compose.ymlの内容
version: '2'
services:
db:
image: mysql:5.6
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
depends_on:
- db
ports:
- "8080:80"
restart: always
volumes:
- ./wp-content:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data:
WordPress最新版とmysql5.6のイメージを使用します。
またWordPressのテーマ開発が楽になるよう、
wp-contentフォルダだけをマウントします。
以下の部分ですね。
volumes:
- ./wp-content:/var/www/html/wp-content
起動する
以下のコマンドで起動します。
$ docker-compose up -d
docker-compose.ymlに記載されているイメージをダウンロードして、コンテナの起動までやってくれます。
すでにイメージがある場合は、起動だけをしてくれます。
確認する
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------
wp_db_1 docker-entrypoint.sh mysqld Up 3306/tcp
wp_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp
Status が「Up」になっていれば、無事に起動できています。
ブラウザでアクセス
次にhttp://localhost:8080にブラウザでアクセスします。
wordpress の画面が表示されました。
あとは画面の流れにそって操作していきます。
無事にWordPress がインストールでき、管理画面にログインできました。
コンテナ起動の他にも主要なコマンドも紹介します。
コンテナの停止
$ docker-compose stop
Stopping wp_wordpress_1 ... done
Stopping wp_db_1 ... done
コンテナのリスタート
$ docker-compose restart
Restarting wp_wordpress_1 ... done
Restarting wp_db_1 ... done
コンテナの削除
$ docker-compose down
Stopping wp_wordpress_1 ... done
Stopping wp_db_1 ... done
Removing wp_wordpress_1 ... done
Removing wp_db_1 ... done
Removing network wp_default
まとめ
Docker Composeを使って、WordPress環境を作ってみました。
WordPressのテーマ開発ではとても役に立ちそうです。
Dockerについては知識がまだ十分ではないので、引き続き学んでいきたいと思います。