当前位置: 首页 > 知识库问答 >
问题:

无法停止或重启docker容器

柯默
2023-03-14

尝试停止或重新启动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时,我看到容器已经启动并正在运行。但是其中的应用程序出现故障,所以我想重新启动它,或者只是在线获取该应用程序的新版本。但是当我无法停止并删除容器时,我也无法启动并运行一个新应用程序,这将监听相同的端口。

共有3个答案

柯伟志
2023-03-14

这看起来像docker/docker/问题/12738,在docker 1.6或1.7中看到:

一些容器未能正常停止,导致重新启动

当我们的用户主机从1.5.0升级到1.6.0时,我们经常看到这个问题
升级后,一些容器无法停止(给出500服务器错误:内部服务器错误(“无法停止容器xxxxx:[2]容器不存在:容器已销毁”)或强制销毁(给出500服务器错误:内部服务器错误(“无法杀死正在运行的容器,无法删除-[2]容器不存在:容器已销毁”)。这些进程仍在主机上运行
有时,它会在重新启动docker守护程序后工作。

有一些变通方法:

我已经尝试了所有的远程API调用的不可杀死的容器,下面是结果:

  • jsonstatschangestop日志返回有效响应
  • 停止暂停等待终止报告404(!)

在我完成远程API后,我再次检查了docker ps(容器仍然在那里),但之后我重试了docker kill,它成功了!集装箱被毁了,我可以把它移走。

或者:

有效的方法是在我的主机上重新启动boot2docker。然后docker rm-f

$ boot2docker stop
$ boot2docker start
$ docker rm -f 1f061139ba04
席成仁
2023-03-14

所有docker:start | restart | stop | rm--force | kill命令在容器卡住时可能不起作用。您可以随时重新启动docker守护进程。但是,如果您有其他正在运行的容器,那么这可能不是选项。你能做的是:

ps aux | grep <<container id>> | awk '{print $1 $2}'

输出包括:

<<user>><<process id>>

然后终止与容器相关联的进程,如下所示:

sudo kill -9 <<process id from above command>>

这将杀死容器,您可以使用正确的图像启动一个新容器。

张鸿志
2023-03-14

我无法在我的机器中找到boot2docker。所以,我想出了一些对我有用的东西。

$ sudo systemctl restart docker.socket docker.service
$ docker rm -f <container id>

检查它是否对你也有帮助。

 类似资料:
  • 问题内容: 尝试停止或重新启动Docker容器时,我收到以下错误消息: 但是当我跑步时 我可以看到日志,因此显然容器确实存在。有任何想法吗? 编辑: 抱歉,我忘了提一下: 运行时,我看到容器已启动并正在运行。但是,其中的应用程序出现故障,因此我想重新启动它,或者只是在线获取该应用程序的新版本。但是,当我无法停止并删除容器时,也无法启动并运行要监听同一端口的新应用程序。 问题答案: 看起来像dock

  • 我在官方docker网站上遵循了“开始”教程,一切都很顺利,直到我尝试删除容器。每次当我运行时 或 具有该 ID 的初始容器将停止或删除,但新容器出现并运行。我试图使用以下命令更新容器: 然而,这没有帮助。 这里是'docker info'命令结果: 和“docker inspect[container_id]”

  • 问题内容: 我使用以下命令从映像启动docker容器: 当完成后,容器停止(我想这已停止),但它并没有被删除,因为我可以用这个命令来查看它: 有什么办法可以使用相同的参数将此容器保持由生成的数据? 问题答案: 是的,当初始命令完成执行后,容器将停止。 您可以使用以下方法启动已停止的容器: 如果要查看命令的输出,则应添加选项: PS。有一个,但用于重新启动正在运行的容器-我相信情况并非如此。

  • 问题内容: 问题 :无法停止泊坞窗容器,每当我尝试停止容器时,都会收到以下错误消息, 操作系统版本/内部版本: Ubuntu 16.04 | Docker版本17.09.0-ce,构建afdb6d4 | Docker Compose版本1.17.1,内部版本6d101fb 重现步骤: 使用Dockerfile和docker-compose.yml创建了Rails项目。docker-compose.

  • 本文档叙述了在类Unix系统上如何停止和重启Apache 。 Windows NT/2000/XP/2003的用户请参见以服务方式运行Apache ,Windows 9x/ME用户则参见在控制台中运行Apache 。 简介 为了停止或者重新启动Apache ,你必须向正在运行的httpd进程发送信号。有两种发送信号的方法。第一种方法是直接使用UNIX的kill命令向运行中的进程发送信号。你也许你会

  • 我希望容器在计算机重新启动后自动启动,所以我使用'--restart=always'标志,但它并没有像我预期的那样运行。当我重新启动系统时,容器没有启动。 docker日志信息 添加docker ps-a message,$docker ps-a CONTAINER ID IMAGE命令CREATED STATUS PORTS NAMES a1f4d5471b0a mysql:8.0“docker