こちらの記事は「WordPressの開発環境をDockerで構築する」の続きになります。続きを見ていないとどんな内容かわかりづらいので見てもらうことをオススメします。

前回は、Dockerの簡単な解説からDockerを使ったWordPress環境の構築をするためのファイルの作成まで紹介しました。この記事では、作成したファイルを元にDockerを立ち上げる方法とテーマやプラグインを編集するときにローカルとDockerコンテナの共有を紹介します。

docker-composeコマンドを使ってコンテナを作成する

作成したdocker-compose.ymlファイルからDockerコンテナを立ち上げるのには、ターミナルからdocker-composeコマンドを使います。docker-composeコマンドは、Docker Desktopをインストールしている時に一緒に追加されるコマンドです。ターミナルを使うのでとっつきづらいかもしれないですが、以下のようにすれば簡単にDockerを立ち上げることができます。

  1. docker-compose.ymlがあるフォルダまでfinderで移動する
  2. finderのメニューから「サービス」→「フォルダに新規ターミナル」を選択する
  3. ターミナルで以下のコマンドを実行
$ docker-compose up -d

これでdocker-composeからDockerコンテナが起動します。コンテナが起動しているのを確認するにはターミナル上でもわかりますが、Docker Desktopを使うとよりわかりやすいです。

Docker Desktopでコンテナが立ち上がっているのを確認

WordPressが動いていることを確認する

Dockerの立ち上げはできましたが、実際にWordPressが立ち上がっているか確認をしましょう。WordPressのページにアクセスするには以下のURLになります。実際にアクセスしてみるとWordPressのセットアップがされていないためWordPressのインストールページにリダイレクトされるはずです。

http://localhost:8080

このURLの8080はdocker-compose.ymlに記述したportsの設定をしているので例えば「80:80」のような設定をしていると上記のURLではアクセスできません。

コンテナで立ち上げたWordPressをインストールしていきましょう。日本語の選択もできるので特に困るようなことはないはずです。

install first
1. WordPressインストールページ
wordpress select japanese
2. 日本語を選択
wordpress-config
3. WordPressの初期設定ページ
WordPressインストール完了
4. WordPressのインストール完了
WordPress管理画面
5. Dockerで作ったWordPressの管理画面
トップページも問題なし

実際にはプロダクション環境で使うのはダメな設定ですが、ローカルでのみ使うWordPressなので設定項目はかなり簡略しています。ここらへんの簡単に設定にしておいても問題ないのが、Dockerで作る場合の利点かなと思います。

Dockerコンテナの起動を停止・削除する

docker-composeコマンドで立ち上げたDockerコンテナはDocker Desktopで停止するか以下のコマンドで停止することができます。

Docker Desktopで停止/削除する場合

Docker Desktopで停止
Docker Desktopでの全体の停止

基本的にアイコンを見てポーズアイコンは停止、ゴミ箱アイコンは削除になります。またwpコンテナだけ停止したいとかなった場合でもdocker-wpの左にあるアイコンをクリックして各コンテナにあるアイコンをクリックすれば停止なり削除なりできます。

Docker Desktopでのコンテナごとの削除
コンテナごとの停止・削除

docker-composeコマンドで停止/削除する場合

docker-composeで立ち上げたコンテナを全て停止したい場合は以下の通りです。

docker-composeコマンドでの停止
$ docker-compose kill
docker-composeコマンドでの削除
$ docker-compose rm

各コンテナごとに停止したい場合は以下のように行います。

docker-composeコマンドでのコンテナごとの停止
$ docker-compose kill wp
$ docker-compose kill db
docker-composeコマンドでのコンテナごとの削除
$ docker-compose rm wp
$ docker-compose rm db

dockerコンテナにマウントしているvolumeを削除する

dockerコンテナはvolumeでマウントをしていない場合、コンテナを削除するとコンテナ内のデータがなくなりますが、volumeでマウントをしている場合は、マウントしているフォルダのデータに関しては永続して残ります。前回書いたWordPress環境のdocker-compose.ymlにもvolumeでマウントしているのでコンテナを削除して再度起動してもデータが残っているためWordPressのインストールページには遷移しません。

ただマウントしているvolumeを削除したいことは出てきます。そこでvolumeを削除したい場合は以下のコマンドで削除することができます。

volume確認
$ docker volume ls
volumeの削除
$ docker volume rm wpData
volume全削除
$ docker volume rm $(docker volume ls -qf dangling=true)

まとめ

2回に渡ってDockerを使ったWordPressの環境を紹介しました。Dockerを使えばWordPress環境を構築するのも削除するのも簡単にできます。仮想環境上にあるためとてもポータビリティが高いですし、うまく使えば環境変数の違い以外で同じ環境をローカル環境・ステージング環境・プロダクション環境と分けることができます。このような経緯からDockerを使った開発というのが主流になっていくと思いますので使い方を学んでおけば、WordPress以外にも使えて便利です。