我正在使用以下命令运行docker镜像:
docker run -P elasticsearch:2.2
我能够从主机访问在端口9200上运行的http端点,但是我不清楚如何设置publish_address以使其不会不断变化。我试图修改elasticsearch.yml并将network.publish属性设置为分配给docker0和eth0以及lo的ip地址,即使它在启动时确认输出中的绑定,但是卷曲到该地址会让我拒绝连接
答案 0 :(得分:1)
以下elasticsearch:2.2暴露一些端口9200和9300.使用Elasticsearch时众所周知的端口。 Docker建议为您的应用程序使用通用的传统端口,这就是elasticsearch:2.2所做的。不要修改内部elasticsearch.yml;让它原样:)
唯一要做的就是使用-p
(小写)选项而不是-P
(大写)将图像内部端口映射到主机的端口
像这样使用:
docker run -p 9200:9200/tcp -p 9300:9300/tcp elasticsearch:2.2
这样做告诉docker不要使用随机端口,而是使用-p
选项来使用映射到内部端口的端口。