不能访问docker for windows linux容器中的elasticsearch

我主要在Windows上使用Bash子系统,有docker for windows(版本17.06.0-ce-win19(12801))安装并设置为Linux容器。

我试图通过以下命令启动它

sudodocker运行-d -p 9200 elasticsearch:2.3.5

如果我尝试通过在bash中curl来访问它,或者浏览器没有find它。 我曾尝试以下几点:

  • 本地主机:9200
  • 127.0.0.1:9200
  • (容器IP地址):9200 [通过dockernetworking检查桥获得]
  • (我的本地IP地址):9200 [ifconfig]

  • docker日志e727aa95a49d
    • [2017-07-30 01:07:50,114] [WARN] [bootstrap]无法安装系统调用filter:seccomp不可用:您的内核有问题,您应该升级
    • [2017-07-30 01:07:50,296] [INFO] [node] [Alysande Stuart]版本[2.3.5],pid [1],build [90f439f / 2016-07-27T10:36:52Z]
    • [2017-07-30 01:07:50,296] [INFO] [node] [Alysande Stuart]正在初始化…
    • [2017-07-30 01:07:51,046] [INFO] [插件] [Alysande Stuart]模块[reindex,lang-expression,lang-groovy],插件[],网站[]
    • [2017-07-30 01:07:51,066] [INFO] [env] [en] Alysande Stuart]使用[1]数据path,挂载[[/ usr / share / elasticsearch / data(/ dev / sda1)]]可用_空间[54.3GB],净总空间[58.8GB],旋转? [可能],键入s [ext4]
    • [2017-07-30 01:07:51,066] [INFO] [env] [Alysande Stuart]堆大小[1007.3mb],压缩的普通对象指针[true]
    • [2017-07-30 01:07:52,684] [INFO] [node] [Alysande Stuart]初始化
    • [2017-07-30 01:07:52,685] [INFO] [node] [Alysande Stuart]首发…
    • [2017-07-30 01:07:52,852] [INFO] [transport] [Alysande Stuart] publish_address {172.17.0.2:9300},bound_addresses {0.0.0.0:9300}
    • [2017-07-30 01:07:52,857] [INFO] [发现] [Alysande Stuart] elasticsearch / TIf_RDG_SpqbfJ_rJmfizA
    • [2017-07-30 01:07:55,920] [INFO] [cluster.service] [Alysande Stuart] new_master {Alysande Stuart} {TIf_RDG_SpqbfJ_rJmfizA} {172.17.0.2} {172.17.0.2:9300},理由:禅宗迪斯科join(election_as_master,[0]join收到)
    • [2017-07-30 01:07:55,972] [INFO] [http] [Alysande Stuart] publish_address {172.17.0.2:9200},bound_addresses {0.0.0.0:9200}
    • [2017-07-30 01:07:55,972] [INFO] [node] [Alysande Stuart]开始了
    • [2017-07-30 01:07:55,999] [INFO] [网关] [Alysande Stuart]将[0]索引恢复到cluster_state

-p 9200告诉Docker在Windows上查找任何可用的端口(比如说32768 )并将其映射到9200容器端口。

你需要这个:

 sudo docker run -d -p 9200:9200 elasticsearch:2.3.5 

使用-p 9200:9200 Docker将始终使用9200 ,它将在localhost中可用: localhost:9200