Windows Docker Toolbox中的localhost上没有Container

时间:2018-05-29 21:01:59

标签: docker windows-7 localhost docker-machine docker-toolbox

我尝试在|上连接到我的容器,但无法访问网站。

详细说明:

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镜像在私人注册表中,所以我做了以下步骤:

  1. $ docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' d5b465ed1b18 <no value>
  2. PATH=$PATH:"C:\Program Files\Oracle\VirtualBox"; export PATH
  3. export DOCKER_HOST="tcp://127.0.0.1:2376"
  4. docker-machine stop default
  5. VBoxManage modifyvm "default" --natpf1 "docker,tcp,,2376,,2376"
  6. docker-machine start default
  7. 你可以帮忙吗?

1 个答案:

答案 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/