我正在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服务器。这不起作用(未找到主机等)。
请告知
答案 0 :(得分:25)
在Windows上,您使用的是Docker Toolbox,您需要的IP是192.168.99.100
(这是Docker Toolbox VM的IP)。您获得的IP是VM中 容器的IP,无法直接从Windows访问。
答案 1 :(得分:2)
docker run -d -p 4000:80 friendlyhello
在Windows 10主机上执行此操作
答案 2 :(得分:1)
我使用以下命令将正在运行的容器上的内部端口80映射到本地主机上的端口82:
docker run --name webserver2 -d -p 82:80 nginx
从localhost:82访问nginx图像效果很好。
您要从本地Web浏览器访问的端口是:80之前的第一个数字,这是nginx图像实际上在容器中运行的位置。
这个问题上存在很多沟通不畅的问题-这是主机(您正在运行的Windows)和docker上运行的容器之间的简单端口映射。