无法访问本地Windows计算机上的nginx容器

时间:2016-04-07 13:18:17

标签: nginx docker

我正在Windows 10机器上运行nginx容器。我把它剥离到最低限度 - 在Docker中心提供的nginx图像。我正在使用它运行它:

docker run --name ng -d -P nginx

这是docker ps

的输出

b5411ff47ca6 nginx "nginx -g 'daemon off" 22 seconds ago Up 21 seconds 0.0.0.0:32771->80/tcp, 0.0.0.0:32770->443/tcp ng

这是我在执行docker inspect ng时获得的IP:“IPAddress”:“172.17.0.2”

所以,接下来我要做的是通过在主机的浏览器中打开http://172.17.0.2:32771从主机访问Nginx服务器。这不起作用(未找到主机等)。

请告知

3 个答案:

答案 0 :(得分:25)

在Windows上,您使用的是Docker Toolbox,您需要的IP是192.168.99.100(这是Docker Toolbox VM的IP)。您获得的IP是VM中 容器的IP,无法直接从Windows访问。

答案 1 :(得分:2)

  1. 请遵循这篇文章...... https://docs.docker.com/get-started/part2/#run-the-app
  2. 并确保您的应用程序不仅仅运行docker。
  3.   

    docker run -d -p 4000:80 friendlyhello

    在Windows 10主机上执行此操作

    1. 工作http://192.168.99.100:4000/
    2. 不工作:http://localhost:4000/

答案 2 :(得分:1)

我使用以下命令将正在运行的容器上的内部端口80映射到本地主机上的端口82:

docker run --name webserver2 -d -p 82:80 nginx

从localhost:82访问nginx图像效果很好。

您要从本地Web浏览器访问的端口是:80之前的第一个数字,这是nginx图像实际上在容器中运行的位置。

这个问题上存在很多沟通不畅的问题-这是主机(您正在运行的Windows)和docker上运行的容器之间的简单端口映射。