如何从外部访问存储在Docker容器中的Elasticsearch?

我目前正在Docker容器中运行Elasticsearch(ES)5.5。 (见下文)

curl -XGET 'localhost:9200' { "name" : "THbbezM", "cluster_name" : "elasticsearch", "cluster_uuid" : "CtYdgNUzQrS5YRTRT7xNJw", "version" : { "number" : "5.5.0", "build_hash" : "260387d", "build_date" : "2017-06-30T23:16:05.735Z", "build_snapshot" : false, "lucene_version" : "6.6.0" }, "tagline" : "You Know, for Search" } 

我已经改变了elasticsearch.yml文件看起来像这样:

 http.host: 0.0.0.0 # Uncomment the following lines for a production cluster deployment #transport.host: 0.0.0.0 #discovery.zen.minimum_master_nodes: 1 network.host: 0.0.0.0 http.port: 9200 

我目前可以通过curl -XGET命令来获取我的索引。 这里的事情是,我希望能够使用它的Ip地址,而不是从我的机器(Mac OS X)开始的“localhost:9200”设置来对这个ES实例执行http请求。

所以,我已经尝试过了:

1)我试过在邮差中得到以下回应:

 Could not get any response There was an error connecting to XXXX:9200/. Why this might have happened: The server couldn't send a response: Ensure that the backend is working properly Self-signed SSL certificates are being blocked: Fix this by turning off 'SSL certificate verification' in Settings > General Client certificates are required for this server: Fix this by adding client certificates in Settings > Certificates Request timeout: Change request timeout in Settings > General 

2)我也尝试了Sense(Chrome插件):

 Request failed to get to the server (status code: 0): 

3)从我的机器terminal运行curl也不会这样做。

我在这里错过了什么?

Docker for Mac提供了一个您可以使用的DNS名称:

docker.for.mac.localhost