用 systemd 管理 podman containers
Podman 原本有提供指令可以產生 systemd service 的設定檔,但是產生出來的檔案內容感覺有很多改善的空間,例如要怎麼讓 podman 可以乖乖的把 log 送到 journald 就不是產生的範本有提供的。
在研究這個問題的時候發現這個指令已經被 Quadlet 取代了。Quadlet 是在 podman 4.4 的時候整合進去的,利用 systemd generator 的方式把類似於 systemd 的設定檔直接轉換為 systemd 可以使用的格式。
[Unit]
Wordpress Container
-online.target
network-online.target
network
[Container]
.io/library/wordpress:6
docker/var/srv/wordpress:/var/www/html:Z
[Service]
always
900
[Install]
-user.target
multi
如此一來就可以簡單的設定 container 以及讓 container 自動更新了。詳細的設定可以參考 podman-systemd.unit(5) 的內容。
把設定放到 /etc/containers/systemd 目錄下以後,記得要讓 systemd 重新讀取:
# sudo systemctl daemon-reload
# sudo systemctl start wordpress
# systemctl status wordpress
; )
;
) )
)
這一種設定方式比原本的 systemd 簡單太多了。▗