Blog

DockerでWordPressのコンテナを作成

2021年5月18日

Dockerのインストールに続きましてWordpressのコンテナを作成してみました。こちらもとても簡単でした。

この記事の内容

コンテナの作成手順

WordPressのコンテナ作成はググればかなり沢山記事があり丁寧に解説されていますが、ここではシンプルに僕が行った手順をご紹介。小難しいことは解説しません!

参考にした記事

まずは参考にさせてもらった記事をご紹介します。

クィックスタート: Compose と WordPress — Docker-docs-ja 19.03 ドキュメント

Dockerの日本語訳の公式サイトです。ただこのページではCompose のインストール が必要とか冒頭に記載していますが、私はインストールしておりませんDockerのインストールに記載の手順のみで稼働しました。
※おそらくDocker Desktop for Mac and WindowsにComposeも含まれているのでしょう。

コンテナのディレクトリを作成

解説記事と同様デスクトップに「my_wordpress」とディレクトリを作成し、その中に「docker-compose.yml」を作成しました。docker-compose.ymlの記載内容も記事とまったく同じです。このあたりは追々勉強して細かなとこまで理解しておく必要がありますね…。とりあえず今回はあまり中身も見ずにコピペしておきました

version: '3'

services:
   db:
     image: mysql:5.7
     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
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

コマンド実行

ここでいよいよ黒い画面の登場です。コマンドで先ほど作ったディレクトリまで移動します。

cd ディレクトリパス

もっと初心者向けの解説としてコマンドの使い方的な事も紹介すると、ディレクトリパスはフォルダの上部にあるパスをコピーしてマウスを右クリックでペースト可能です。ぜひ覚えておきましょう。

ディレクトリに移動できたら「docker-compose up -d」とコマンドを入力して実行します。

するとカリカリとdockerがもろもろファイルをダウンロードしてインストールしてくれます。ただただ1分ほど眺めていると完成です。

あとはブラウザで「http://localhost:8000/」と打ち込むとWordpressのインストール画面が表示されるので完了です。

あまりにもお手軽だったのでびっくりしました。ただXAMPPと違ってphpmyadminを使ってDB操作したいなとなると自分でインストールしないといけませんが…。
※その後phpmyadminもコンテナで作成できることを知りました。後半で解説します。

ちなみにインストールした「Docker Desktop」アプリを起動すると、

このように作成したコンテナの内容を確認もできます。コンテナの停止やスタート、削除などもこのアプリから行えるので初心者には優しいですね。

データをコンテナディレクトリに同期させるボリュームの利用

上記のdocker-compose.ymlだとWordpressはDocker内のものを利用する形で独自ファイルを置いたり永続的にデータを保持することが出来ません。なのでボリューム(volumes:で指定する箇所)の利用することでコンテナで作ったディレクトリ内にデータを同期することができます。これでよりローカル開発のイメージがわいてきますね。簡単にいうとボリュームを指定しないとディレクトリ内にファイルが生成されないということです。

あとphpmyadminもimageから作成することができるようです。参考にさせていただいた記事がこちら。

初心者|Docker-ComposeでWordPressとMySQLとphpMyAdminのローカル環境の構築 – Qiita

こちらの記事で手順通りにすることで以下のようなファイルが生成されます。

XAMPPよりお手軽で簡単だなという印象です。