今天,我使用appcontainers/ MediaWiki docker映像部署了一个MediaWiki实例,现在我遇到了一个新问题,我找不到任何线索。 在尝试使用以下方法附加到mediawiki前端容器后:

docker attach mediawiki_web_1

在我的配置上终止,原因我忽略了,也试着:

docker exec -it mediawiki_web_1 bash

我确实得到了一个接近错误的消息:

Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running

这就是我的新问题,因为这个容器从未停止重新启动。我可以看到,使用docker ps -a总是返回一个状态重启(127)x秒前。

问题是,我能够停止容器(我测试过),但再次启动它似乎将它带回到重新启动循环中。

知道问题出在哪里吗?整个东西都正常工作,直到我试图把它接上……

我很伤心:-(


当前回答

在开发中运行了很长一段时间后,在将代码部署到prod服务器后,我遇到了同样的问题 问题是在我的码头写作中。我没有为mongo图像指定一个标记,默认情况下它提取了最新的图像,因为我想保留数据路径,所以mongo版本之间存在不匹配 在dev版本是4.4.3,在prod版本是最新版本(我猜是5.x) 我的解决方案是将映像指定为mongo:4.4.3而不是mongo

我不想走升级DB的路

其他回答

首先检查日志容器失败的原因。因为您的重启策略可能会使容器恢复到运行状态。最好是修复这个问题,然后可能你可以建立一个新的映像,有/没有修复。稍后执行以下命令

Docker系统修剪

https://forums.docker.com/t/docker-registry-in-restarting-1-status-forever/12717/3

如果你创建了一个systemd服务,它有:

[Service]
Restart=always
ExecStart=/usr/bin/docker container start -a my_container
ExecStop=/usr/bin/docker container stop -t 2 my_container

检查已安装docker的分区。在大多数情况下,分区的容量为100%,因此您可能需要查看这一点。

在开发中运行了很长一段时间后,在将代码部署到prod服务器后,我遇到了同样的问题 问题是在我的码头写作中。我没有为mongo图像指定一个标记,默认情况下它提取了最新的图像,因为我想保留数据路径,所以mongo版本之间存在不匹配 在dev版本是4.4.3,在prod版本是最新版本(我猜是5.x) 我的解决方案是将映像指定为mongo:4.4.3而不是mongo

我不想走升级DB的路

从个人经验来看,听起来好像你的docker容器有问题,不允许它重新启动。所以容器中的某个进程导致重新启动挂起,或者某个进程导致容器在启动时崩溃。

当你启动容器时,如果你要附加到它,请确保你启动它时分离“-d”。(交货。"docker run -d mediawiki_web_1")