繁体   English   中英

如何从在Docker for Windows上运行的容器中访问主机上的端口?

[英]From a container running on Docker for Windows, how can I access a port on the host?

我正在Windows的Docker上运行基于CentOS的容器,并尝试连接到在主机环境的端口8545上运行的http服务。

我已经尝试过,尝试各种可疑的主机名和IP地址:

curl http://localhost:8545

但是我收到的错误消息是“ curl:(7)无法连接到本地主机:8545;连接被拒绝”

我应该如何确定要使用的IP地址? 就允许从容器内部访问端口号而言,我需要配置什么吗?

我认为Localhost不能正常工作,适用于Windows的Docker。 您可以尝试的方法很少。 首先,您可以在dockerfile中添加EXPOSE'portnumber',以便容器将在此端口上侦听。 您还可以使用docker -p 8545:8545运行,它将映射容器和主机的端口。

要获取容器的IP地址,您可以使用:

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" containername

您可以使用其ip访问主机,但localhost / 127.0.0.1无法正常工作(它们将解析为Windows的docker一部分的Linux VM)。 如果您使用默认网络设置,则您的主机应该可以从容器上的10.0.75.1上访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM