我尝试在|
上连接到我的容器,但无法访问网站。
详细说明:
localhost/127.0.0.1/0.0.0.0
我遵循了这个tutotial:https://blog.sixeyed.com/published-ports-on-windows-containers-dont-do-loopback/:
$ docker run -d -p 80:80 nginx:alpine
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
d5b465ed1b18 nginx:alpine "nginx -g 'daemon of" 6 minutes ago Up 6 minutes 0.0.0.
0:80->80/tcp quizzical_swirles
798b40ceec77 10.36.7.241:5000/facileexplorer:0.3.8 "/usr/bin/supervisor" 9 minutes ago Up 9 minutes 4444/t
cp, 0.0.0.0:3838->3838/tcp, 0.0.0.0:8787->8787/tcp, 5900/tcp vigilant_banach
但它不会返回端口。
我也帮助自己完成了这个指南:https://www.iancollington.com/docker-and-cisco-anyconnect-vpn/因为我的一些docker镜像在私人注册表中,所以我做了以下步骤:
$ docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' d5b465ed1b18
<no value>
PATH=$PATH:"C:\Program Files\Oracle\VirtualBox"; export PATH
export DOCKER_HOST="tcp://127.0.0.1:2376"
docker-machine stop default
VBoxManage modifyvm "default" --natpf1 "docker,tcp,,2376,,2376"
docker-machine start default
答案 0 :(得分:3)
使用Docker Toolbox时,运行docker run -p 80:80
可能会产生误导。这意味着它会将容器的端口80转发到Docker机器的端口80,而不是Windows主机!
如果要通过Windows主机访问容器,还需要将Docker机器的端口80转发到该主机。
我发现您正在使用VirtualBox,它允许您通过在设置&gt;中添加条目来实现这一点。网络&gt;高级&gt;端口转发。
图片示例教程:https://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/