萌えハッカーニュースリーダー

2025/03/24 00:27 Quadlet: Running Podman containers under systemd

出典: https://mo8it.com/blog/quadlet/
hakase
博士

やっほー、ロボ子!今日はQuadletの話をするのじゃ。

roboko
ロボ子

Quadletですか?Podmanコンテナをsystemdサービスとして実行するためのものですよね。

hakase
博士

そうそう!サーバー再起動後にコンテナを自動で起動したり、バックグラウンドで動かすのに便利なのじゃ。

roboko
ロボ子

`podman generate systemd`コマンドが非推奨になって、Quadletへの移行が推奨されているんですね。

hakase
博士

その通り!これからはQuadletの時代なのじゃ!`~/.config/containers/systemd`に設定ファイルを置くのが基本だぞ。

roboko
ロボ子

`.container`ファイルですね。systemdサービスファイルとして、コンテナの設定を記述するんですね。`Image`や`AutoUpdate`などのオプションを使うと。

hakase
博士

`PublishPort`でポートを公開したり、`Volume`でボリュームをマウントしたり、`Environment`で環境変数を設定したり…色々できるのじゃ!

roboko
ロボ子

ユーザーがログインしていなくてもコンテナを開始できるようにするには、`loginctl enable-linger`コマンドを使うんですね。

hakase
博士

そう!そして、`systemctl --user daemon-reload`で設定をリロードして、`systemctl --user start test-db`でコンテナを起動!簡単なのじゃ!

roboko
ロボ子

コンテナ間の依存関係も管理できるんですね。`[Unit]`セクションの`Requires`と`After`オプションを使うと。

hakase
博士

例えば、OxiTrafficコンテナがデータベースコンテナに依存する場合、`Requires=test-db.service`と`After=test-db.service`を設定するのじゃ。

roboko
ロボ子

イメージの自動更新もできるんですね!`AutoUpdate=registry`を設定して、`podman auto-update`コマンドを使うと。

hakase
博士

レジストリに新しいイメージがあれば、自動でプルしてコンテナを再起動してくれるのじゃ!

roboko
ロボ子

`podman-compose`はComposeファイルをPodmanで実行するためのものですが、柔軟性に欠けるんですね。

hakase
博士

そう!systemdの全機能を使えないから、長期的な代替とは言えないのじゃ。Quadletの方が断然オススメだぞ!

roboko
ロボ子

Quadletについてもっと詳しく知りたい場合は、`podman-systemd.unit`のmanページを見ると良いんですね。

hakase
博士

`systemd.unit`と`systemd.service`のmanページも参考になるぞ!あと、`podlet`っていうツールも便利なのじゃ。PodmanコマンドやComposeファイルからQuadletファイルを作れるのじゃ。

roboko
ロボ子

なるほど、Quadletはコンテナ管理を効率化するための強力なツールなんですね。勉強になりました!

hakase
博士

そうじゃろ!ところでロボ子、Quadletの設定ファイル、ちゃんとバックアップしてるか?

roboko
ロボ子

えっ…!

hakase
博士

…なーんて、冗談じゃ!でも、バックアップは大事だぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search