一尘不染

无法停止或重新启动Docker容器

docker

尝试停止或重新启动Docker容器时,我收到以下错误消息:

$ docker restart 5ba0a86f36ea
Error response from daemon: Cannot restart container 5ba0a86f36ea: [2] Container does not exist: container destroyed
Error: failed to restart containers: [5ba0a86f36ea]

但是当我跑步时

$ docker logs -f 5ba0a86f36ea

我可以看到日志,因此显然容器确实存在。有任何想法吗?

编辑:

抱歉,我忘了提一下:

运行时,docker ps -a我看到容器已启动并正在运行。但是,其中的应用程序出现故障,因此我想重新启动它,或者只是在线获取该应用程序的新版本。但是,当我无法停止并删除容器时,也无法启动并运行要监听同一端口的新应用程序。


阅读 883

收藏
2020-06-17

共1个答案

一尘不染

看起来像docker / docker / issues /
12738
,在docker
1.6或1.7中看到:

一些容器无法正确停止,然后重新启动

当我们的用户主机从1.5.0升级到1.6.0时,我们经常看到该问题。
升级后,某些容器无法停止(给予500 Server Error: Internal Server Error ("Cannot stop container xxxxx: [2] Container does not exist: container destroyed")或被强制破坏(给予500 Server Error: Internal Server Error ("Could not kill running container, cannot remove - [2] Container does not exist: container destroyed"))。进程仍在主机上运行。
有时,它在重新启动docker守护程序后可以工作。

有一些解决方法:

我已经尝试了对该容器进行所有远程API调用,结果如下:

  • jsonstatschangestoplogs返回有效响应
  • stoppausewaitkill报404(!)

完成远程API后,我docker ps再次检查了该容器(容器仍在那儿),但随后我尝试了docker
kill并成功了!该集装箱被杀死,我可以将其卸下。

要么:

起作用的是boot2docker在主机上重新启动。然后docker rm -f

$ boot2docker stop
$ boot2docker start
$ docker rm -f 1f061139ba04
2020-06-17