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

我正在尝试通过以下命令启动它

sudo docker run -d -p 9200 elasticsearch:2.3.5

如果我尝试通过bash上的curl访问它,或者在浏览器中找不到它。我尝试了以下操作:
  • 本地主机:9200
  • 127.0.0.1:9200
  • (容器ip地址):9200 [通过docker network inspect网桥获得]
  • (我的本地IP地址):9200 [ifconfig]


  • 最佳答案

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

    你需要这个:

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

    借助-p 9200:9200,Docker将始终使用将在您的本地主机中可用的9200:localhost:9200

    关于bash - 无法在docker中访问Windows Linux容器的Elasticsearch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45395649/

    10-10 07:55