我想停止无法重新启动的容器(其状态为Restarting
)。该容器具有restart=always
。正在执行:
docker stop <container>
似乎成功(没有错误消息),但是容器还是重新启动了。相同的命令实际上会停止restart=always
已正常重启的容器。
如果我试图杀死容器:
docker kill <container>
我收到一条消息:container is not running
(是的)
删除容器的工作原理:
docker rm <container>
该容器将不会重新启动,因为它不再存在。但这不是我想要的:我只希望它停止重新启动。
如何停止发生故障的重启容器而不删除它?
答案 0 :(得分:2)
您可以先用docker container update
更改restart policy
:
docker container update --restart="no" <your container name>
,然后继续:
docker container stop <your container name>
Restart policies (--restart):
- 否:退出容器后,不会自动重新启动容器。这是默认设置。
- 失败[:max-retries] :仅当容器以非零退出状态退出时才重新启动。 (可选)限制Docker守护进程尝试重新启动的重试次数。
- 始终:无论退出状态如何,始终重新启动容器。当您始终指定时,Docker守护程序将尝试无限期重启容器。无论容器的当前状态如何,该容器还将始终在守护程序启动时启动。
- 无限停止:无论退出状态如何(包括守护程序启动时),始终重启容器,除非容器在停止Docker守护程序之前处于停止状态。
答案 1 :(得分:0)
您可以查看docker pause
。请查看它是documentation here