こちらの記事は「WordPressの開発環境をDockerで構築する」の続きになります。続きを見ていないとどんな内容かわかりづらいので見てもらうことをオススメします。
前回は、Dockerの簡単な解説からDockerを使ったWordPress環境の構築をするためのファイルの作成まで紹介しました。この記事では、作成したファイルを元にDockerを立ち上げる方法とテーマやプラグインを編集するときにローカルとDockerコンテナの共有を紹介します。
docker-composeコマンドを使ってコンテナを作成する
作成したdocker-compose.ymlファイルからDockerコンテナを立ち上げるのには、ターミナルからdocker-composeコマンドを使います。docker-composeコマンドは、Docker Desktopをインストールしている時に一緒に追加されるコマンドです。ターミナルを使うのでとっつきづらいかもしれないですが、以下のようにすれば簡単にDockerを立ち上げることができます。
- docker-compose.ymlがあるフォルダまでfinderで移動する
- finderのメニューから「サービス」→「フォルダに新規ターミナル」を選択する
- ターミナルで以下のコマンドを実行
$ docker-compose up -d
これでdocker-composeからDockerコンテナが起動します。コンテナが起動しているのを確認するにはターミナル上でもわかりますが、Docker Desktopを使うとよりわかりやすいです。
WordPressが動いていることを確認する
Dockerの立ち上げはできましたが、実際にWordPressが立ち上がっているか確認をしましょう。WordPressのページにアクセスするには以下のURLになります。実際にアクセスしてみるとWordPressのセットアップがされていないためWordPressのインストールページにリダイレクトされるはずです。
http://localhost:8080
このURLの8080はdocker-compose.ymlに記述したportsの設定をしているので例えば「80:80」のような設定をしていると上記のURLではアクセスできません。
コンテナで立ち上げたWordPressをインストールしていきましょう。日本語の選択もできるので特に困るようなことはないはずです。
実際にはプロダクション環境で使うのはダメな設定ですが、ローカルでのみ使うWordPressなので設定項目はかなり簡略しています。ここらへんの簡単に設定にしておいても問題ないのが、Dockerで作る場合の利点かなと思います。
Dockerコンテナの起動を停止・削除する
docker-composeコマンドで立ち上げたDockerコンテナはDocker Desktopで停止するか以下のコマンドで停止することができます。
Docker Desktopで停止/削除する場合
基本的にアイコンを見てポーズアイコンは停止、ゴミ箱アイコンは削除になります。またwpコンテナだけ停止したいとかなった場合でもdocker-wpの左にあるアイコンをクリックして各コンテナにあるアイコンをクリックすれば停止なり削除なりできます。
docker-composeコマンドで停止/削除する場合
docker-composeで立ち上げたコンテナを全て停止したい場合は以下の通りです。
$ docker-compose kill
$ docker-compose rm
各コンテナごとに停止したい場合は以下のように行います。
$ docker-compose kill wp
$ docker-compose kill db
$ docker-compose rm wp
$ docker-compose rm db
dockerコンテナにマウントしているvolumeを削除する
dockerコンテナはvolumeでマウントをしていない場合、コンテナを削除するとコンテナ内のデータがなくなりますが、volumeでマウントをしている場合は、マウントしているフォルダのデータに関しては永続して残ります。前回書いたWordPress環境のdocker-compose.ymlにもvolumeでマウントしているのでコンテナを削除して再度起動してもデータが残っているためWordPressのインストールページには遷移しません。
ただマウントしているvolumeを削除したいことは出てきます。そこでvolumeを削除したい場合は以下のコマンドで削除することができます。
$ docker volume ls
$ docker volume rm wpData
$ docker volume rm $(docker volume ls -qf dangling=true)
まとめ
2回に渡ってDockerを使ったWordPressの環境を紹介しました。Dockerを使えばWordPress環境を構築するのも削除するのも簡単にできます。仮想環境上にあるためとてもポータビリティが高いですし、うまく使えば環境変数の違い以外で同じ環境をローカル環境・ステージング環境・プロダクション環境と分けることができます。このような経緯からDockerを使った開発というのが主流になっていくと思いますので使い方を学んでおけば、WordPress以外にも使えて便利です。