端口未链接时从主机访问服务

时间:2016-07-30 09:33:39

标签: docker

当我将容器中的公开端口链接到主机端口时,一切都按预期工作......

docker run -d -p 9200:9200 -p 9300:9300 elasticsearch

curl -XGET localhost:9200/_cat/indices

但是当我不在运行命令中使用ports选项时,我无法连接。

# docker run -d elasticsearch

# docker inspect 87c6bcb3b67e | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",

# curl -XGET 127.17.0.3:9200/_cat/indices
curl: (7) Failed to connect to 127.17.0.3 port 9200: Connection refused

我可以登录到容器并访问elasticsearch而没有任何问题。像这样...

# docker exec -it 2ec9026b755e bash

# curl -XGET localhost:9200/_cat/indices

即使端口没有链接,有没有办法从主机访问elasticsearch?

1 个答案:

答案 0 :(得分:1)

  

即使端口没有链接,有没有办法从主机访问elasticsearch?

通常不会:这就是容器的用途:提供隔离。这允许您启动许多容器,每个容器在同一个端口上运行。