Docker-compose从链接迁移到networkingMongoDB数据库问题

我想通过使用链接到networkingDockerfile迁移,但我遇到一些问题。 我将首先描绘我的原始设置:

原始 – 链接

Dockerfile:

FROM java:8 VOLUME /tmp ADD docker_micro_maven-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 8080 ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://mongodb/micros", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 

泊坞窗,compose.yml:

 mongodb: image: mongo employee: image: jdruwe/docker_micro_maven links: - mongodb ports: - "8080" 

新 – networking

Dockerfile:

 FROM java:8 VOLUME /tmp ADD docker_micro_maven-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 8080 ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://${MONGO_URI_DOCKER}/micros", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 

泊坞窗,compose.yml:

 mongodb: container_name: "db" image: mongo employee: image: jdruwe/docker_micro_maven environment: - MONGO_URI_DOCKER=db:27017 ports: - "8080" 

当我在春季启动应用程序中调用我的rest端点(原始情况)时,我总是得到一个响应(一些json数据)。 当我现在调用它时,我得到以下错误响应:

 { "timestamp": 1453405937191, "status": 500, "error": "Internal Server Error", "exception": "org.springframework.dao.DataAccessResourceFailureException", "message": "Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=db:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {java.net.UnknownHostException: db: unknown error}}]; nested exception is com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=db:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {java.net.UnknownHostException: db: unknown error}}]", "path": "/employee" } 

来自Devoxx的video我用作参考: https ://youtu.be/aSATsLG59Zs?t = 53m33s

看来我一直在做错事,但我不确定是什么,欢迎任何帮助。 提前致谢!

在docker-compose 1.5.x中,新的networking仍然是一个需要使用--x-networking选项启用的实验性function。

新的networkingfunction将在Docker-compose 1.6中移出实验,如果docker-compose.yml使用新的(2.0)文件格式,则会自动使用这些function。

阅读Docker-compose 1.6-rc1的发行说明以获取更多信息; https://github.com/docker/compose/releases/tag/1.6.0-rc1