我有一个添加了docker支持的Visual Studio项目。它有docker compose文件和网络部分(我使用Windows容器):
services:
auth:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "80"
networks:
default:
external:
name: nat
Docker nat网络
"Subnet": "172.17.224.0/20",
"Gateway": "172.17.224.1"
所以我可以通过http://172.17.228.37/api/account/test
从主机访问aspnet core 2应用程序docker image上的Exec ipconfig返回:
IPv4 Address. . . . . . . . . . . : 172.17.228.37
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.17.224.1
该应用使用Mongo。 MongoDB服务器在主机上运行(不在docker中)并绑定到mongod.cfg中的0.0.0.0
net:
bindIp: 0.0.0.0
port: 27017
所以在docker中我使用连接字符串作为mongodb://172.17.224.1:27017并且应用程序无法连接到主机mongodb。但是网关IP(172.17.224.1)ping是正常的。我是否遗漏了配置mongodb,docker或net core 2 app的内容?
提前致谢!