我正在尝试从运行在 AWS EC2 实例上的 Docker 容器中访问外部 URL。
虽然我能够从 EC2 实例进行 CURL - 但同样的 CURL 在 Docker 容器中不起作用。 本质上,此 CURL 在 EC2 实例中有效,但在 Docker 容器中无效。为什么会这样?
docker 文件:
FROM docker.elastic.co/kibana/kibana:6.5.0
ENV ELASTICSEARCH_URL=https://elasticsearch.myorg.com
EXPOSE 5601
CMD ["/usr/local/bin/kibana-docker"]
最佳答案
经过大量的反复试验,我终于找到了问题所在。看起来像使用标准运行 docker 镜像:
docker run -d -p 5601:5601 my-kibana-image:1
还不够。 elasticsearch 的主机解析(这是一个外部主机)仅在我将网络配置从默认设置更改为“主机”时才有效。这样做
docker run --net=host -d -p 5601:5601 my-kibana-image:1
终于解决了这个问题,并且 kibana 容器实例终于能够与 elasticsearch 对话!!! Kibana 引导正确,此时我能够正常启动它。
关于docker - 无法从 Docker 容器中访问外部 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53305161/