podman 无故退出
💡
原文中文,约700字,阅读约需2分钟。
📝
内容提要
使用 podman 替代 docker 时,发现设置了 --restart=always 和 -d 的容器在普通用户注销后会无故退出。启用 LINGER 功能后,容器可以继续运行。
🎯
关键要点
- 使用 podman 替代 docker 后,发现容器在普通用户注销后会无故退出。
- 容器设置了 --restart=always 和 -d,但仍然会退出,ExitCode 为 0。
- 问题原因是以普通用户身份运行,systemd 默认会在用户退出时终止进程。
- systemd 的 LINGER 功能可以让用户级服务在用户注销后继续运行。
- 启用 LINGER 功能后,用户级服务将由系统级的 systemd 实例接管。
- 通过命令 loginctl enable-linger 可以启用 LINGER 功能,解决容器退出问题。
➡️