将 docker 的容器端口连接到 Ubuntu VM 内的 运行,以及 VM 的主机网络

Connect a docker's container port that is running inside an Ubuntu VM, with the VM's host machine network

我在 Ubuntu-18.04 映像 (VMWare Player) 中有一个 Docker 运行,该映像托管在 Windows PC 上。 Docker 有一个 Gitlab 容器,我可以通过 localhost:4000 从我的 VM 访问它。问题是如何从我的 Windows PC 访问同一个 Gitlab 实例?据我了解,我需要连接两层。第一个是带有 VM 主机的 Docker,第二个是带有 Windows 主机的 VM 主机。我已尝试在 Windows 主机和虚拟机之间创建桥接连接,但无法正常工作。如果可能,请提供详细的答案和步骤。

如果我没记错的话,Virtualbox 有一个用于配置端口转发的设置屏幕。搜索 google 周围。

OK 问题解决了感谢 PanosMR

我的解决方案是将 VM 网络设置为仅主机。然后为虚拟机分配一个子网 IP,如 192.168.42.0,掩码如 255.255.255.0.

然后我去看看我的虚拟机分配到哪个IP。 IP 是 192.128.42.128。然后在我的 Ubuntu VM 内的 docker 上,我将 Gitlab 容器 --publish IP 设置为相同的 VM IP 加上端口。

例如 --publish 192.168.42.128:4000:80 和繁荣!当 Gitlab 容器启动时,我可以通过我的 Windows PC 访问该 IP。

这是我见过的最简单的解决方案,也是唯一合法的解决方案。