当尝试停止或重新启动 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
我可以看到日志,所以显然容器确实存在。有任何想法吗?
Edit:
抱歉,我忘了提到这一点:
当我跑步时docker ps -a
我看到容器已启动并正在运行。但是,其中的应用程序出现故障,因此我想重新启动它,或者只是在线获取该应用程序的新版本。但是,当我无法停止和删除容器时,我也无法启动并运行新的应用程序,该应用程序将侦听同一端口。
我想出了这个,这对我有用:
$ sudo systemctl restart docker.socket docker.service
$ docker rm -f <container id>
您可以检查一下是否对您有帮助。
虽然,它应该是你的关键系统的最后手段,因为在运行容器时重新启动 docker 套接字和服务会产生一些潜在的复杂性。其中一些如下:
-
日志丢失:您可能会在启动过程中丢失一些日志。
-
孤立进程:在极少数情况下,重新启动 Docker 可能会留下孤立的容器进程。它们可能会消耗资源,并且可能需要手动终止。
-
数据丢失的可能性:在极少数情况下,可能存在数据丢失的可能性,特别是当 Docker 重新启动时容器正在执行写入操作时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)