从docker windows容器访问主机mongodb

时间:2018-03-09 13:57:50

标签: mongodb docker .net-core docker-compose docker-container

我有一个添加了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的内容?

提前致谢!

0 个答案:

没有答案