docker - 无需端口转发即可访问docker-machine VM端口

标签 docker portforwarding docker-machine

我正在尝试学习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/

相关文章:

windows - 如何在 Windows XP 中转发进程的 TCP/IP 流量?

dns - 我可以配置子域以指向我的服务器上的特定端口吗

java - Docker 构建无法找到 COPY 命令的源文件夹

linux - 如何防止从缓存中加载 docker 图像?

java - 从 docker 容器连接到主机 mysql 数据库时连接被拒绝

http - 使用 Telnet 通过代理建立隧道 HTTP

ruby-on-rails - Docker Rails 服务器拒绝连接

docker - docker 如何检测应保存哪些更改,不保存哪些更改?

docker - 在 Docker 内安装 npm 之后访问 node_modules

docker - 错误: unable to connect to system d-bus : d-bus not installed