gpt4 book ai didi

spring - Docker-compose从链接迁移到网络MongoDB数据库问题

转载 作者:行者123 更新时间:2023-12-02 19:41:37 25 4
gpt4 key购买 nike

我正在尝试通过Dockerfile从使用链接的链接迁移到网络,但是遇到一些问题。我将首先概述我的原始设置:

原始-链接

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"]

docker-compose.yml:
mongodb:
image: mongo
employee:
image: jdruwe/docker_micro_maven
links:
- mongodb
ports:
- "8080"

新增-联网

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"]

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

当我在spring boot应用程序中调用我的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的视频,我用作引用: https://youtu.be/aSATsLG59Zs?t=53m33s

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

最佳答案

在docker-compose 1.5.x中,新网络仍然是一项实验性功能,需要使用--x-networking选项启用。

如果您的docker-compose.yml使用了新的(2.0)文件格式,那么新的联网功能将在docker-compose 1.6中移出实验性功能,并且会自动使用。

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

关于spring - Docker-compose从链接迁移到网络MongoDB数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34933116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com