我正在尝试学习Docker,到目前为止,我遇到了很多docker-machine而不是boot2docker所需的“变通方法”。
我当前的问题是从主机访问我的Docker容器。
我有Windows主机,运行用docker-machine创建的VM,在该docker VM内,我运行一个简单的nginx服务器容器。
运行nginx容器以将其80端口暴露给docker-machine的8000。
docker run -d -p 8000:80 nginx
我想要实现的是能够使用浏览器从Windows打开此服务器。
如果我在Windows中使用docker-machine ip给我的IP使用curl(Git bash,而不是ssh-ed进入docker-machine VM),那么它可以工作。但是不能使用浏览器(当前正在使用Microsoft Edge),如果设置了NAT端口转发,则可以使浏览器正常工作。
curl $(docker-machine ip dev):8000
如我所读,无需指定每个端口的端口转发规则即可访问VM端口,VirtualBox应该自动公开并转发这些端口。
我在做什么错或者我必须为我要使用的VM和主机OS之间的每个端口指定端口转发规则?
最佳答案
经过一天的挖掘,我有了一个疯狂而疯狂的想法来尝试另一个浏览器,并且它运行良好。
因此,对于遇到此问题并且您正在使用Microsoft Edge(像我一样尝试)的任何人,请切换浏览器。 Chrome和旧版IE都可以正常工作。
关于docker - 无需端口转发即可访问docker-machine VM端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34369858/