WordPressサーバーをDockerで運用している場合、気になるのが サーバー再起動時の挙動 です。
Ubuntu Serverを再起動したときに
- WordPress
- nginx
- その他のコンテナ
が 自動で起動するのかどうか。
自分も「設定した気がするけど覚えてない」という状態だったので、
確認する方法を調べてついでに記事に残しておきます。
Dockerコンテナの自動起動設定とは
Dockerには Restart Policy(再起動ポリシー) という設定があります。
これを設定しておくと、
- サーバー再起動
- Docker再起動
- コンテナ停止
などのときに 自動でコンテナを再起動してくれます。
WordPressサーバーの場合は 必須設定に近いです。
現在のコンテナを確認する
まず現在動いているコンテナを確認します。
docker ps
例
CONTAINER ID IMAGE
abc123 wordpress
def456 mysql
ghi789 nginx
再起動ポリシーを確認する
次にコンテナの restart設定 を確認します。
docker inspect コンテナ名
例
docker inspect wordpress
出力の中に
"RestartPolicy": {
"Name": "always",
があれば 自動起動設定されています。
もっと簡単に確認する方法
こちらのコマンドの方が見やすいです。
docker inspect -f '{{ .HostConfig.RestartPolicy.Name }}' コンテナ名
例
docker inspect -f '{{ .HostConfig.RestartPolicy.Name }}' wordpress
結果
always
これなら 自動起動設定済みです。
Restart Policyの種類
Dockerにはいくつかの再起動設定があります。
no(デフォルト)
自動起動しない
always(おすすめ)
常に自動起動
サーバー再起動時も復活します。
unless-stopped
手動停止していない限り起動
on-failure
エラー時のみ再起動
WordPressサーバーでおすすめの設定
基本はこれです。
restart: always
理由
- サーバー再起動で自動復帰
- 手動で停止しない限り稼働
WordPress運用なら ほぼこれ一択です。
Dockerコンテナに自動起動を設定する
既存コンテナに設定する場合。
docker update --restart always コンテナ名
例
docker update --restart always wordpress
docker-composeの場合
docker-composeなら最初から設定できます。
services:
wordpress:
image: wordpress
restart: always
WordPressサーバーは docker-composeで管理しておくと楽です。
今回の確認ポイント
今回自分が確認したのは
- WordPress
- nginx
のコンテナが restart: always になっているか。
もし設定されていない場合は
docker update --restart always
で修正しておく予定です。
まとめ
DockerでWordPressを運用する場合は
- コンテナ自動起動設定
- docker-compose管理
- バックアップ
このあたりを整えておくと かなり安定します。
今回みたいに
「設定したか覚えてない」
みたいな部分は、
確認ついでに記事にしちゃってます。


コメント