我正在使用以下命令在ubuntu主机中运行一个docker:
docker run -d --rm -p 9200:9200 -p 9300:9300 --name elasticsearch6.6.1 docker.elastic.co/elasticsearch/elasticsearch:6.6.1
以后像这样查询时,我会失败:
curl 'http://localhost:9200/?pretty'
失败看起来像这样:
卷曲'http://localhost:9200/?pretty'
[command]/bin/bash --noprofile --norc /home/vsts/work/_temp/dcac22e9-6b6f-443b-8497-c093dd6bb804.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (56) Recv failure: Connection reset by peer
所以,我的问题是:
如何在docker上启动elasticsearch并发布端口9200 和9300托管给主机?
是否需要network.host = _ 站点 _设置?
谢谢
答案 0 :(得分:0)
我想您已删除network.host
或它的设置不正确。当Docker中的对等问题导致连接重置时,最有可能发生在您尝试访问的端口绑定到localhost时。因此,您需要将network.host=
设置为0.0.0.0,如here所示,默认值为127.0.0.1
。修改值后,重新启动容器,然后重试