尝试停止或重新启动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我看到容器已启动并正在运行。但是,其中的应用程序出现故障,因此我想重新启动它,或者只是在线获取该应用程序的新版本。但是,当我无法停止并删除容器时,也无法启动并运行要监听同一端口的新应用程序。
docker ps -a
看起来像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守护程序后可以工作。
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"
有一些解决方法:
我已经尝试了对该容器进行所有远程API调用,结果如下: json,stats,changes,top,logs返回有效响应 stop,pause,wait,kill报404(!) 完成远程API后,我docker ps再次检查了该容器(容器仍在那儿),但随后我尝试了docker kill并成功了!该集装箱被杀死,我可以将其卸下。
我已经尝试了对该容器进行所有远程API调用,结果如下:
json
stats
changes
top
logs
stop
pause
wait
kill
完成远程API后,我docker ps再次检查了该容器(容器仍在那儿),但随后我尝试了docker kill并成功了!该集装箱被杀死,我可以将其卸下。
docker ps
要么:
起作用的是boot2docker在主机上重新启动。然后docker rm -f
boot2docker
docker rm -f
$ boot2docker stop $ boot2docker start $ docker rm -f 1f061139ba04