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 功能,解决容器退出问题。
➡️

继续阅读