我们知道Podman是dockerless的,它没有作为docker的守护进程。
在docker中,我可以通过在docker run -v /var/run/docker.sock:/var/run/docker.sock
中添加一个卷来运行docker命令,该容器可以使用bash脚本从内部重新启动。
在Podman中是否有解决方案,可以在容器中运行podman restart container
?
答案 0 :(得分:0)
我不会给程序访问Docker套接字的权限(以及对主机的无限根级访问权限),只是在出现问题时重新启动。
如果确定存在问题并且程序无法继续运行,则可以退出(调用exit()
或sys.exit()
之类的东西,或者抛出无法处理的异常)。当主容器进程退出时,它将触发容器restart policy,这可能导致容器重新启动。 podman run
具有几乎相同的--restart
选项。
podman run --restart=on-failure ... my-image
您还可能考虑如果不使用容器,如何解决此问题。如果您需要重新加载配置,或者重新执行自己的二进制文件,或者具有面向开发人员的非生产实时重新加载环境,那么这些相同的方法在容器中是否可以同样有效,并且不需要Docker套接字。