我在Windows 10主机(运行Linux容器)上安装了Docker:
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: windows/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
我运行了一个简单的命令:
docker run -d -p 80:80 --name webserver nginx
在我的主机上,我可以使用http://localhost,http://127.0.0.1,http://192.168.1.151(eth0),http://172.24.1.16(eth1)等访问它。
但是,从主机外部,在192.168.1.0/24和172.24.1.0/24子网上,访问Web服务器会返回超时错误。
答案 0 :(得分:2)
我不得不通过Windows防火墙允许%ProgramFiles%\ Docker \ Docker \ resources \ vpnkit.exe。
答案 1 :(得分:0)
docker中的linux机器已配置为暴露端口。
100次中的99次,它是Windows防火墙。尝试完全关闭它。
如果不起作用,可能会在您的--cap-add=NET_BIND_SERVICE
命令中添加docker run
(通过https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)。