从其他计算机部署在windows docker容器中的访问应用程序

问题描述 投票:0回答:2

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

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

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

docker docker-for-windows docker-desktop
2个回答
0
投票

只有当您使用桥接网络时,您的虚拟机才会获得自己的IP地址。一旦您的hyper-v获取IP地址,您就可以从其他机器访问它。问题不是与docker相关,而是hyper-v的网络适配器。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.