今天,我使用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秒前。

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

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

我很伤心:-(


当前回答

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

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

其他回答

它正在重新启动,状态代码为127,这意味着在容器中有一个丢失的文件/库。启动一个新的容器可能会解决这个问题。

解释:

就我对Docker的理解而言,下面是正在发生的事情:

容器试图启动。在这个过程中,它尝试访问一个不存在的文件/库。 它以127的状态码退出,在这个答案中解释了这一点。 通常,这是容器应该完全退出的地方,但它会重新启动。 它会重新启动,因为重启策略必须被设置为不是no(默认值)的值(使用命令行标志——restart或docker-compose)。Yml键重启),同时启动容器。

解决方案:某些东西可能损坏了容器。理想情况下,启动一个新的容器就可以了。

在我的情况下,nginx容器一直在重新启动,我检查了nginx容器的日志,知道一个不必要的域的.crt和.key文件有错误,所以我删除了各自的.conf文件,.crt和.key,然后重新启动nginx。就是这样,nginx在没有重新启动的情况下正常工作。

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

我删除了dockers文件夹内的所有文件夹,重新构建所有图像,它对我有用。

 docker-compose up -d --build

and

docker-compose up -d

在我的情况下,我移除了

重启=总

添加

tty: true

并执行以下命令打开shell(守护进程,因为docker读取compose文件并在到达文件的最后一行时停止容器)。

docker-compose up -d