【问题标题】:How to run restart command inside Podman container?如何在 Podman 容器中运行重启命令?
【发布时间】:2020-12-08 12:32:22
【问题描述】:

我们知道 Podman 是 dockerless,它没有作为 docker 的守护进程。

在 docker 中,我可以通过在 docker run -v /var/run/docker.sock:/var/run/docker.sock 中添加一个卷来运行 docker 命令,这样容器就可以使用 bash 脚本从内部重新启动。

是否有任何解决方案可以在 Podman 中做同样的事情,在容器内运行 podman restart container

【问题讨论】:

    标签: docker podman


    【解决方案1】:

    如果出现问题,我不会让程序访问 Docker 套接字(以及对主机的无限根级别访问),只是为了重新启动。

    如果您确定存在问题并且您的程序无法继续运行,它可以直接退出(调用类似 exit()sys.exit() 或抛出未得到处理的异常)。当主容器进程退出时,会触发容器restart policy,这会导致容器重启。 podman run 有一个几乎相同的 --restart 选项。

    podman run --restart=on-failure ... my-image
    

    您还可以考虑如果不涉及容器,您将如何解决此问题。如果你需要重新加载你的配置,或者重新执行你自己的二进制文件,或者有一个面向开发人员的非生产实时重新加载环境,这些相同的方法在容器中同样适用,并且不需要 Docker插座。

    【讨论】:

    • 我同意你的观点,不建议过多地访问容器。但是 exit 或 sys.exit 不会停止容器的进程或杀死它。
    猜你喜欢
    • 2020-04-21
    • 2019-09-25
    • 2021-11-05
    • 2021-04-28
    • 2019-05-21
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多