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