3.4. コンテナーの再起動

--restart オプションは podman で完全にサポートされていないため、「Podman を使用したコンテナーの systemd へのポート 」で説明されているように、podman を systemd サービスとして設定できます。

3.4.1. Podman での systemd ユニットファイルの使用

デフォルトで、Podman は既存のコンテナーまたは Pod のユニットファイルを生成します。podman generate systemd --new コマンドを使用して、追加の移植可能な systemd ユニットファイルを生成できます。--new フラグは、Podman に対し、コンテナーの作成、起動、および削除を行うユニットファイルを生成するように指示します。

  1. 以下のように、実行中の Red Hat Quay レジストリーから systemd ユニットファイルを作成します。

    $ sudo podman generate systemd --new --files --name redis
    $ sudo podman generate systemd --new --files --name postgresql-quay
    $ sudo podman generate systemd --new --files --name quay
    $ sudo podman generate systemd --new --files --name postgresql-clairv4
    $ sudo podman generate systemd --new --files --name clairv4
  2. root ユーザーとしてインストールするために、/usr/lib/systemd/system にユニットファイルをコピーします。

    $ sudo cp -Z container-redis.service /usr/lib/systemd/system
    $ sudo cp -Z container-postgresql-quay.service /usr/lib/systemd/system
    $ sudo cp -Z container-quay.service /usr/lib/systemd/system
    $ sudo cp -Z container-postgresql-clairv4.service /usr/lib/systemd/system
    $ sudo cp -Z container-clairv4.service /usr/lib/systemd/system
  3. systemd マネージャーの設定を再読み込みするには、次のコマンドを実行します。

    $ sudo systemctl daemon-reload
  4. サービスを有効にし、システムの起動時に起動します。

    $ sudo systemctl enable --now container-redis.service
    $ sudo systemctl enable --now container-postgresql-quay.service
    $ sudo systemctl enable --now container-quay.service
    $ sudo systemctl enable --now container-postgresql-clairv4.service
    $ sudo systemctl enable --now container-clairv4.service