DockerComposeでWordPressを構築しながら理解しよう

DockerComposeとは

DockerComposeは複数のコンテナと連携しているサービスの構築する手順が自動化することができます。
docker-compose.ymlファイルに設定を記入して実行するだけです。
これによってweb-app-db構成のコンテナを一気に構築したりすることができます。

DockerComposeでWordpressを構築してみる

公式マニュアル:https://docs.docker.com/compose/wordpress/

今回は既存のイメージで構築できますので、Dockerfileは使用していません。

docker-composeを実行します。

実際にアクセスしてみます。

アクセスするIPアドレスに注意
ここでアクセスするIPアドレスはDockerをインストールしているIPアドレスです。コンテンのIPアドレスではありません。ポートは8000番を指定します。

http://192.168.47.15:8000

アカウントを作成してログインします。

記事を投稿します。

画像をアップロードします。

コンテナを停止させます。

コンテナを起動させます。

再度WordPressにログインして動作確認しても問題はありません。

コンテナを停止削除します。

再度構築します。
docker-compose up -d

再度画面にアクセスすると英語になっています。
http://192.168.47.15:8000/wp-admin

記事は正常に残っています。

アップロードした画像はなくなりました。

これはコンテナでデータの永続化ができていないためです。永続化するためにはdocker-compose.ymlでホストOSのディレクトリを指定してあげる必要があります。

docker-compose.ymlファイルの解説と修正

wordpressのデータ永続化のためvolumesに設定しています。

これでwordpressのデータ永続化が完了しましたので、画像のアップロードやテーマの変更後にコンテナを削除してもデータを保持するようになります。
なおこの設定はセキュリティは考慮せずに書いていますので、本番導入の際にはセキュリティが担保できるようにしましょう。

ちなみに永続化したデータを削除して最初に戻すのであれば、以下のコマンドでコンテナを停止・削除します。

Docker Composeの仕組みは大まかに理解できましたでしょうか。
理解を深めるためには、インターネット上にあるdocker-compose.ymlをたくさん読んでみましょう。
Docker Composeはすごく楽に構築できますので、ぜひ使ってみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です