容器在 Windows Docker 工具箱中的本地主机上不可用

Posted

技术标签:

【中文标题】容器在 Windows Docker 工具箱中的本地主机上不可用【英文标题】:Container is not available on localhost in Windows Docker Toolbox 【发布时间】:2018-11-08 14:42:27 【问题描述】:

我尝试在localhost/127.0.0.1/0.0.0.0 上连接到我的容器,但无法访问该站点。

详情:

$ 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://blog.sixeyed.com/published-ports-on-windows-containers-dont-do-loopback/:

$ docker inspect --format ' .NetworkSettings.Networks.nat.IPAddress ' d5b465ed1b18
<no value>

但它不返回端口。

我还帮助自己完成了本指南:https://www.iancollington.com/docker-and-cisco-anyconnect-***/,因为我的一些 docker 镜像位于私有注册表中,所以我执行了以下步骤:

    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 alias docker='docker --tlsverify=false'

你能帮忙吗?

【问题讨论】:

【参考方案1】:

当您使用 Docker Toolbox 时,运行 docker run -p 80:80 可能会产生误导。这意味着它会将容器的 80 端口转发到 Docker 机器的 80 端口,而不是 Windows 主机!

如果您想通过 Windows 主机访问容器,还需要将 Docker 机器的 80 端口转发到该主机。

我看到您正在使用 VirtualBox,它允许您通过在 设置 > 网络 > 高级 > 端口转发中添加一个条目来做到这一点。

带图片的示例教程:https://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/

【讨论】:

以上是关于容器在 Windows Docker 工具箱中的本地主机上不可用的主要内容,如果未能解决你的问题,请参考以下文章

可以在docker容器里跑windows么

微软不再支持2008 容器领头羊Docker发布Windows Server迁移工具

docker 运行启动容器,但 localhost 未加载(Windows 10)

在 Windows 版本 10.0.18363 中无法切换到 Docker 中的 Windows 容器

无法与 Docker 中的容器共享本地 Windows 路径

docker在windows下上传文件到容器