Docker Compose でWordPress環境を作ってみる

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については知識がまだ十分ではないので、引き続き学んでいきたいと思います。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ