2

我是弹性搜索的新手,如果我的问题很愚蠢,请原谅我。我正在尝试用 docker 运行它。从 docker hub 提取 elasticsearch 图像后,我使用以下命令运行它:

docker run -p 9200:9200 -p 9300:9300 --name=ES elasticsearch

但是当我打开http://192.168.99.100:9200(我的 docker-machine ip 是192.168.99.100)时,页面不可用。

我试图改变我的elasticsearch.yml喜欢如下:

network.publish_host: 192.168.99.100

但它不起作用。有人帮我吗?

谢谢。

更新 1

我尝试network.publish_host使用(如@Val 提到的)直接在命令行上传递设置,--network.publish_host=192.168.99.100但它仍然无法正常工作。这里的日志:

$ docker run -p 9200:9200 -p 9300:9300 --name=ES elasticsearch  --network.publish_host=192.168.99.100
[2015-10-31 05:18:57,305][INFO ][node                     ] [Slipstream] version[2.0.0], pid[1], build[de54438/2015-10-22T08:09:48Z]
[2015-10-31 05:18:57,306][INFO ][node                     ] [Slipstream] initializing ...
[2015-10-31 05:18:57,445][INFO ][plugins                  ] [Slipstream] loaded [], sites []
[2015-10-31 05:18:57,655][INFO ][env                      ] [Slipstream] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/sda1)]], net usable_space [11.5gb], net total_space [18.1gb], spins? [possibly], types [ext4]
[2015-10-31 05:19:01,778][INFO ][node                     ] [Slipstream] initialized
[2015-10-31 05:19:01,784][INFO ][node                     ] [Slipstream] starting ...
[2015-10-31 05:19:02,072][INFO ][transport                ] [Slipstream] publish_address {192.168.99.100:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300}
[2015-10-31 05:19:02,140][INFO ][discovery                ] [Slipstream] elasticsearch/D9frl4aqQlG_ihimJ6eY_w
[2015-10-31 05:19:05,309][INFO ][cluster.service          ] [Slipstream] new_master {Slipstream}{D9frl4aqQlG_ihimJ6eY_w}{192.168.99.100}{192.168.99.100:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
[2015-10-31 05:19:05,370][INFO ][http                     ] [Slipstream] publish_address {192.168.99.100:9200}, bound_addresses {127.0.0.1:9200}, {[::1]:9200}
[2015-10-31 05:19:05,373][INFO ][node                     ] [Slipstream] started
[2015-10-31 05:19:05,496][INFO ][gateway                  ] [Slipstream] recovered [0] indices into cluster_state
4

1 回答 1

0

由于 OP 使用的是 Mac,端口 9200 需要在VM (VirtualBox) 级别进行端口转发(带boot2docker或带docker machine

VBoxManage controlvm "boot2docker-vm" --natpf1 "tcp-port9200 ,tcp,,9200,,9200"
VBoxManage controlvm "boot2docker-vm" --natpf1 "udp-port9200 ,udp,,9200,,$9200

controlvm如果虚拟机正在运行,modifyvm虚拟机是否已停止)

于 2015-10-31T05:40:45.860 回答