Podman 是一个无需守护进程的容器引擎,提供了与 Docker 类似的命令行接口。Podman 的优势在于不需要 root 权限,使用用户命名空间模拟 root 运行,且兼容 Docker 大部分功能。此外,它支持通过 systemd 单元文件进行服务管理。

配置 Podman 容器自启动

要配置 Podman 容器在系统启动时自动启动,可以按照以下步骤操作:

  1. 运行容器

首先,运行一个容器。例如,运行一个 Nginx 容器:

podman run -d --name nginx -p 8080:80 nginx
  1. 生成 systemd 单元文件

使用 podman generate systemd 命令生成 systemd 单元文件:

podman generate systemd --name nginx --files --new

这将生成一个名为 container-nginx.service的文件。

  1. 配置 systemd 单元文件

将生成的单元文件移动到 /etc/systemd/system/ 目录下:

mv container-nginx.service /etc/systemd/system/
  1. 启用并启动服务

重新加载 systemd 配置,并启用和启动服务:

systemctl daemon-reload

systemctl enable --now container-nginx.service
  1. 验证服务状态

检查服务状态以确保其正常运行:

systemctl status container-nginx.service

无根模式下的自启动配置

对于无根模式下的用户,可以使用 –user 选项来配置自启动:

shellsystemctl --user enable --now container-nginx.service

确保运行 loginctl enable-linger 命令,使用户服务在服务器启动时自动启动。

通过以上步骤,您可以轻松配置 Podman 容器在系统启动时自动启动,无需手动干预。Podman 提供了灵活的配置选项,适用于不同的使用场景和需求。