如何从Docker容器连接到localhost上的mongodb?

我试图在Windows 10上启动Docker-compose应用程序,并连接到在同一台机器上运行的我的MongoDB 3.4 。 命令来启动应用程序: docker-compose -f src/main/docker/app.yml up

我有一个从jijster和这个dockerconfiguration生成的应用程序:

 version: '2' services: core-app: image: core environment: - SPRING_PROFILES_ACTIVE=prod,swagger - EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config - SPRING_DATA_MONGODB_URI=mongodb://0.0.0.0:27017 - SPRING_DATA_MONGODB_DATABASE=core - JHIPSTER_SLEEP=10 # gives time for the JHipster Registry to boot before the application jhipster-registry: extends: file: jhipster-registry.yml service: jhipster-registry environment: - SPRING_CLOUD_CONFIG_SERVER_NATIVE_SEARCH_LOCATIONS=file:./central-config/docker-config/ 

我有一个例外:

MongoSocketException:mongodb://0.0.0.0:27017},由{java.net.UnknownHostException引起:mongodb://0.0.0.0:27017

如何解决这个问题? 任何其他指南不起作用

如果你正在运行Mongo,而不经过docker / docker-compose,它托pipe在你的本地主机上。

你真的不能真正显示从主机的localhost主机到docker的容器就是这样(不使用network --host主机选项,这是不推荐)。

我build议你在docker-compose文件里为mongodb创build一个服务,并把它连接到你的主要服务。