0

我在我的 Windows 10 计算机上安装了Docker Desktop for Windows,并创建了一个名为MobyLinuxVMhyper-v的虚拟机。我将 a 部署到一个新容器,并将端口映射到MobyLinuxVM 27017 端口。MobyLinuxVM虚拟机ip为,主机win10机器ip为192.168.1.10。MobyLinuxVM 使用名为 DockerNAT 的内部网络类型 hyper-v 虚拟交换机,它是 MobyLinuxVM 的默认交换机mongodb10.0.75.2

现在我可以从主机 win10 机器访问 Mongo 数据库。但是我怎样才能从其他机器访问 mongo 数据库呢?我尝试将MobyLinuxVM机器网络适配器更改为另一个外部网络类型的虚拟交换机,但我无法获取MobyLinuxVM虚拟机IP,我尝试通过SSH登录虚拟机,但不知道用户名和密码。

那么如何从其他机器访问部署在 windows docker 容器中的数据库呢?

4

2 回答 2

0

如果您运行“docker run -p port1:port2 mongodb”之类的命令,那么您应该可以使用运行 docker 引擎的机器主机访问此服务:mongodb://your_windows_machine_host:port2 这种情况适用于我,我有'没有做特殊设置来访问容器中的 mongo。

于 2017-10-13T15:18:45.177 回答
0

只有当您使用桥接网络时,您的虚拟机才会获得自己的 IP 地址。一旦您的 hyper-v 获得 ip 地址,您将能够从其他机器访问它。问题不在于 docker,而是 hyper-v 的网络适配器.

于 2017-05-09T08:36:25.547 回答