使用restart = always停止发生故障的容器

时间:2018-10-26 07:15:42

标签: docker

我想停止无法重新启动的容器(其状态为Restarting)。该容器具有restart=always。正在执行:

docker stop <container>

似乎成功(没有错误消息),但是容器还是重新启动了。相同的命令实际上会停止restart=always已正常重启的容器。

如果我试图杀死容器:

docker kill <container>

我收到一条消息:container is not running(是的)

删除容器的工作原理:

docker rm <container>

该容器将不会重新启动,因为它不再存在。但这不是我想要的:我只希望它停止重新启动。

如何停止发生故障的重启容器而不删除它?

2 个答案:

答案 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