端口绑定在Windows上的docker中不起作用

时间:2016-04-29 08:01:35

标签: docker port gerrit

我在Windows m / c上安装了docker。 我正在尝试安装Gerrit。 拉图像完成 - 成功 运行图像也完成 - > docker run -d -p 8080:8080 -p 29418:29418 ****** / gerrit

我尝试通过浏览器将其与我的容器ID:8080连接,但它会引发错误 无法访问此网站

什么是错误的..请帮助提出建议。

BR, 皮疹

2 个答案:

答案 0 :(得分:2)

您需要通过虚拟机IP访问您的容器。您可以使用以下命令获取它:docker-machine ls。然后通过(替换ip)http://192.168.99.100:8080

访问浏览器中的容器

答案 1 :(得分:0)

根据docker文档(https://docs.docker.com/docker-for-windows/troubleshoot/#limitations-of-windows-containers-for-localhost-and-published-ports),目前这是Windows容器的已知限制。

Windows 10 Creator的更新以来,此问题已得到修复,在此情况下,您可以将主机IP与绑定的主机端口(http://<hostIp>:<hostBoundedPort>)一起使用,但仍不能使用localhost或其任何别名。

或者,您可以避免端口映射直接命中容器IP。有多种获取容器IP的方法。我个人将使用:

docker ps

这列出了所有正在运行的docker容器,使您可以找到要命中的容器的容器ID,然后是:

docker inspect <initial_part_or_full_id>

这将输出有关容器的低级信息,包括网络设置,您可以在其中找到包含IP的NAT端点详细信息。然后只需http://<containerIP>:<containerPort>