VM 反向遍历堆栈:从 Vagrant 机器中的 Docker 容器到达主机端口
Stack of VM reverse traversal: reaching host port from a Docker container within a Vagrant machine
我们正在实施 CI 基础设施作为 Docker 容器。
解决方案的开发在 OS X 台机器上进行:
- OSX物理机(Host)安装了Vagrant,外加监听localhost:2200[=44=的服务].
- 在 Host 上,我们
vagrant up
一台 Linux 机器 (VM-a) Docker.
- 在 VM-a 上,我们
docker run
一个 Linux 容器 (VM-b)。 VM-b 需要与 Host. 上的服务 运行 交互
通过记录良好的端口绑定,我们能够到达 VM-a 和 VM-b[=43= 上的任何侦听端口] 来自 主机.
然而,我们无法确定让 VM-b 到达 Host 端口 2200[=44= 的方法] 在 Host 的 localhost 界面上。
是否可以实现这样的通信?
如果是,怎么做?
因此,我们找到了 "magic" 接口,通过该接口可以从任何 VM 到达 Host,即从 booth VM-a 和 VM-b(嵌套在 VM-a 中)。
是10.0.2.2
。
我们正在实施 CI 基础设施作为 Docker 容器。
解决方案的开发在 OS X 台机器上进行:
- OSX物理机(Host)安装了Vagrant,外加监听localhost:2200[=44=的服务].
- 在 Host 上,我们
vagrant up
一台 Linux 机器 (VM-a) Docker. - 在 VM-a 上,我们
docker run
一个 Linux 容器 (VM-b)。 VM-b 需要与 Host. 上的服务 运行 交互
通过记录良好的端口绑定,我们能够到达 VM-a 和 VM-b[=43= 上的任何侦听端口] 来自 主机.
然而,我们无法确定让 VM-b 到达 Host 端口 2200[=44= 的方法] 在 Host 的 localhost 界面上。
是否可以实现这样的通信? 如果是,怎么做?
因此,我们找到了 "magic" 接口,通过该接口可以从任何 VM 到达 Host,即从 booth VM-a 和 VM-b(嵌套在 VM-a 中)。
是10.0.2.2
。