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 0280afe98bb75a5c5e713b28de4b7c5cb49f156f1cce4a208f13fee2f75cb453Copy 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.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示生成的
systemd单元文件的内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Restart=on-failure行设置重启策略,并指示systemd在无法完全启动或停止服务时重启,或者在进程非零退出时重启。 -
ExecStart行描述了如何启动容器。 -
ExecStop行描述了如何停止和移除容器。
-