我尝试在 Windows 10 上使用 Docker-compose 启动应用,并连接到在其上运行的 MongoDB 3.4 机。
命令启动应用:docker-compose -f src/main/docker/app.yml up
我有一个从jhipster和这个docker config生成的应用程序:
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
引起
如何解决这个问题? 任何其他导游都不能工作
答案 0 :(得分:0)
如果您在没有经过docker / docker-compose的情况下运行Mongo,它将托管在您的localhost上。
您无法真正从主机向托管集装箱透露localhost
(不建议使用network --host
选项)。
我建议你在docker-compose文件中为mongodb创建一个服务,并为你的主服务创建link。