本地主机和已发布端口的Windows容器限制
我已经阅读了docs.docker.com的“局部主机和发布端口的Windows容器的限制”部分 ,并且明白我需要使用容器IP才能访问DockerForWindows上的容器的port80。
Howerwise我无法使用http://172.14.0.2浏览容器IP,甚至无法从我的Windows主机ping。
docker文件 = https://github.com/cjonesdev/docker-amazonlinux-lamp/blob/master/Dockerfile
docker run -ti --name lamp -p 80:80 -p 443:443 -p 3306:3306 -v D:\Dropbox\www:/var/www/html -d amazonlinux6
run = docker run -ti --name lamp -p 80:80 -p 443:443 -p 3306:3306 -v D:\Dropbox\www:/var/www/html -d amazonlinux6
989094308f8c amazonlinux "/bin/bash" 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:3306->3306/tcp lamp
ps result = 989094308f8c amazonlinux "/bin/bash" 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:3306->3306/tcp lamp
: 989094308f8c amazonlinux "/bin/bash" 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:3306->3306/tcp lamp
: 989094308f8c amazonlinux "/bin/bash" 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:3306->3306/tcp lamp
从docs.docker.com我猜,这是暗示,Windows主机应该能够nat容器的IP默认情况下,不幸的是在我的情况下,它不是。
在类似的对话之后: https : //github.com/docker/for-win/issues/221在某些情况下,需要添加一个Windows路由才能与DockerNat和containerIP正确通信。
我试过以下路由添加没有成功:
route /P add 172.17.0.0 MASK 255.255.0.0 10.0.75.1
(IP dockerNat)
route /P add 172.0.0.0 MASK 255.0.0.0 192.168.0.13
(IP windowsHost)
有没有人已经面临类似的情况? 谢谢您的帮助。