11.5. 使用 Podman 生成 systemd 单元文件
Podman 允许 systemd
控制和管理容器进程。您可以使用 podman generate systemd
命令为现有容器和 pod 生成一个 systemd
单元文件。建议使用 podman generate systemd
,因为生成的单元文件会频繁变化(通过对 Podman 的更新),并使用 podman generate systemd
确保获取最新版本的单元文件。
注意
从 Podman v4.6 开始,您可以使用描述如何以类似于常规 systemd
单元文件的格式运行容器的 Quadlets,并在 systemd
下隐藏运行容器的复杂性。
先决条件
-
container-tools
元数据包已安装。
流程
创建容器(如
myubi
):podman create --name myubi registry.access.redhat.com/ubi10:latest sleep infinity
$ podman create --name myubi registry.access.redhat.com/ubi10:latest sleep infinity 0280afe98bb75a5c5e713b28de4b7c5cb49f156f1cce4a208f13fee2f75cb453
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用容器名称或 ID 生成
systemd
单元文件,并将其定向到~/.config/systemd/user/container-myubi.service
文件中:podman generate systemd --name myubi > ~/.config/systemd/user/container-myubi.service
$ podman generate systemd --name myubi > ~/.config/systemd/user/container-myubi.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示生成的
systemd
单元文件的内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Restart=on-failure
行设置重启策略,并指示systemd
在无法完全启动或停止服务时重启,或者在进程非零退出时重启。 -
ExecStart
行描述了如何启动容器。 -
ExecStop
行描述了如何停止和移除容器。
-