今天,我使用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 yml文件中

restart: "no"
  restart: always
  restart: on-failure
  restart: unless-stopped
  environment:
    POSTGRES_DB: "db_name"
    POSTGRES_HOST_AUTH_METHOD: "trust"

最终文件应该如下所示

postgres:
  restart: "no"
  restart: always
  restart: on-failure
  restart: unless-stopped
  image: postgres:latest
  volumes:
    - /data/postgresql:/var/lib/postgresql
  ports:
    - "5432:5432"
  environment:
    POSTGRES_DB: "db_name"
    POSTGRES_HOST_AUTH_METHOD: "trust"

其他回答

在我的情况下,我移除了

重启=总

添加

tty: true

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

docker-compose up -d

我只是测试和删除-重启总是和它的工作为我。

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

当docker kill CONTAINER_ID无效且docker stop -t 1 CONTAINER_ID也无效时,可以尝试删除容器:

docker container rm CONTAINER_ID

我今天遇到了类似的问题,容器处于持续的重新启动循环中。

在我的案例中,问题与我是一个糟糕的工程师有关。

总之,我通过删除容器、修复代码,然后重新构建并运行容器来解决这个问题。

希望这能帮助将来遇到这个问题的人

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

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