Docker无法链接到未运行的容器-已通过重新启动修复

Docker无法链接到未运行的容器-已通过重新启动修复,docker,Docker,我在Ubuntu的docker上运行了一个麋鹿堆栈。有时,elasticsearch容器会因为我们开发环境中预期的错误查询或错误消息而终止 我们遇到的问题是,ES容器终止后,由于以下错误,无法重新启动Logstash容器: Cannot link to a non running container: /elasticsearch AS /logstash/elasticsearch 命令的完整列表包括: $ sudo docker stop logstash $ sudo docker st

我在Ubuntu的docker上运行了一个麋鹿堆栈。有时,elasticsearch容器会因为我们开发环境中预期的错误查询或错误消息而终止

我们遇到的问题是,ES容器终止后,由于以下错误,无法重新启动Logstash容器:

Cannot link to a non running container: /elasticsearch AS /logstash/elasticsearch
命令的完整列表包括:

$ sudo docker stop logstash
$ sudo docker start elasticsearch
$ sudo docker start logstash
 Cannot link to a non running container: /elasticsearch AS /logstash/elasticsearch
我已经验证了ES容器确实会返回,并且我可以通过curl连接到ES,但是logstash容器不会启动

logstash容器配置有以下链接:

/elasticsearch:/logstash/elasticsearch
Docker版本信息:

$ docker version
Client:
 Version:      1.11.0
 API version:  1.23

$docker --version    
Docker version 1.11.0, build 4dc5990
重新启动整个VM可以解决问题,并允许我正确地重新启动所有容器,一切正常,直到ES再次终止

虽然不是世界末日,但我真的宁愿避免重新启动来解决这个问题


有什么想法吗?

我有时也会这样,上次是今天。只需运行

sudo服务docker重启


(或类似命令,具体取决于您的操作系统)

您对docker compose有何看法?较新的版本将所有容器集中在一个网络上,而不声明链接,因此您应该能够避免此问题,并使用“depens_on:”设置容器的开始顺序。我曾经在链接上遇到过类似的问题,我会把头发拔出来。。。否则,试着移除过去曾经帮助过我的容器(如果周围有旧的容器的话)。。。