サーバー再起動時に Docker コンテナを自動起動する

VPS などのサーバーを再起動したときに Docker コンテナを自動起動するには、docker container run コマンドでコンテナを起動するときに、--restart フラグを付けて 再起動ポリシー を設定します。

$ docker run -d --restart always redis

Docker Compose ファイルを使う場合は次のように記述します。

docker-compose.yml
version: '3.8'

services:
  redis:
    image: redis
    container_name: redis
    restart: always
起動方法
$ docker compose up -d

正確には VPS サーバーの再起動時というより、Docker デーモンの再起動時に、コンテナの再起動ポリシーによりコンテナが再起動されるという流れになります。 VPS サーバーが起動したときに Docker デーモンを自動起動するようにする設定は、systemd などのプロセスマネージャーで別途設定しておく必要があります。

☝️ ワンポイント

VPS サーバー再起動時の Docker コンテナー自動起動の流れ:

  1. プロセスマネージャー (systemd) により Docker デーモンが起動する
  2. Docker の再起動ポリシーによりコンテナが起動する