将Docker容器连接到本地Elasticsearch服务

时间:2018-09-26 15:32:33

标签: docker elasticsearch networking

我正在运行Docker容器,该容器在其中运行一个jar文件。

此jar文件需要访问Elasticsearch才能读取数据,并且此Elasticsearch服务已安装在本地计算机上(不在Docker容器中

我需要从Docker容器连接到本地Elasticsearch服务以使其工作

我在Dockerfile中编写了 EXPOSE 9200 9300服务端口 ,我的Docker run命令如下,

docker run -itd --memory = 1g -p 9300:9300 -p 9200:9200 -p service-port:service-port --name服务名service-name -XX: + UnlockExperimentalVMOptions -XX:+ UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction = 2 -XshowSettings:vm

当我运行此命令时,出现以下错误,

docker:来自守护程序的错误响应:驱动程序无法对端点服务名称(3de884dd9a62a4a989475721cc4cdf9cb6b78f1a8d345e590471d85052d6a4de)进行外部连接编程。

P.S =在我的本地服务器上,我需要保持弹性搜索服务 ON

1 个答案:

答案 0 :(得分:0)

您引用的EXPOSE行和docker run -p 9200:9200 -p 9300:9300选项都告诉Docker您正在运行一个提供 Elasticsearch服务器的容器,您想监听 strong>用于这些端口上的连接。 如果您只是想与其他地方运行的Elasticsearch服务建立出站连接,则不需要这些选项,应将其删除。