[英]Unable to access kibana web UI and Elasticsearch running in docker container from host machine
我以ubuntu为基础从dockerfile构建了一个docker镜像。 我在其中手动安装elasticsearch kibana气流。 我的容器的IP是172.17.0.2 。 我可以从172.17.0.2:8080从主机访问Airflow的Web UI。 但是无法分别以172.17.0.2:5601和172.17.0.2:9200访问Kibana或elasticsearch。
以下是我的dockerfile中用于安装elasticsearch的摘录
RUN wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
RUN echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.list
RUN apt-get update
RUN apt-get install elasticsearch
请指教,谢谢!
实际上,我不知道您如何访问172.17.0.2:8080
。 但是常见的方式应该是发布您的端口,请参阅this 。
对于您的情况,可能是这样的:
docker run -it -p 5601:5601 -p 8080:8080 -p 9200:9200 your_image
然后,使用your_host_ip:5601
, your_host_ip:8080
等(不是容器ip)来访问容器服务。
如果您已成功安装kibana和码头工人码头工人的形象构建-ED容器内,那么你已经揭露了kibana默认端口5601的端口,并从本地主机访问它之前elasticsearch默认端口9200。 您可以通过两种不同的方式来实现。 例如:在dockerfile EXPOSE 5601 9200 8080
或运行容器时。 因此,如果您想访问位于Airflow容器中的Kibana UI或Elasticsearch,则可以删除现有容器并使用端口暴露重新运行它。 假设-
在容器运行时,
docker run -it --name webui_kibana_elasticsearch -p 5601:5601 -p 9200:9200 -p 8080:8080 ec45652e2ca4 /bin/bash
在dockerfile构建时,
EXPOSE 8080 5601 9200
另外,如果您想在单独的Docker容器中使用Kibana和Elasticsearch,那么此文章将为您提供肯定的帮助。
看这里
https://docs.swiftybeaver.com/article/33-install-elasticsearch-kibana-via-docker和
https://gist.github.com/sany2k8/347690434b282369890057d094218c7f
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.