【发布时间】:2020-09-18 19:26:48
【问题描述】:
你能帮我吗?我尝试在 ubuntu 服务器上部署应用程序。我使用 docker-compose up。我有这个错误。
com.mongodb.MongoSocketOpenException: Exception opening socket
spring-mongo | at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70) ~[mongodb-driver-core-4.0.5.jar!/:na]
spring-mongo | at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) ~[mongodb-driver-core-4.0.5.jar!/:na]
spring-mongo | at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) ~[mongodb-driver-core-4.0.5.jar!/:na]
spring-mongo | at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
spring-mongo | Caused by: java.net.ConnectException: Connection refused (Connection refused)
spring-mongo | at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_212]
spring-mongo | at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_212]
spring-mongo | at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_212]
spring-mongo | at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_212]
spring-mongo | at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_212]
spring-mongo | at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_212]
spring-mongo | at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:63) ~[mongodb-driver-core-4.0.5.jar!/:na]
spring-mongo | at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) ~[mongodb-driver-core-4.0.5.jar!/:na]
spring-mongo | at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) ~[mongodb-driver-core-4.0.5.jar!/:na]
spring-mongo | ... 3 common frames omitted
Dockerfile
FROM openjdk:8-jdk-alpine
ADD target/spring-mongo.jar spring-mongo.jar
ENTRYPOINT ["java","-jar","spring-mongo.jar"]
application.properties
spring.data.mongodb.host=mymongodb
spring.data.mongodb.port=27017
spring.data.mongodb.database=mongo
spring.data.mongodb.repositories.enabled=true
docer-compose.yml
version: "3"
services:
mymongodb:
image: mongo:latest
container_name: "mymongodb"
ports:
- 27017:27017
spring-mongo:
image: spring-mongo:1.0
container_name: spring-mongo
ports:
- 8080:8080
links:
- mymongodb
【问题讨论】:
-
当你得到那个错误的时候,MongoDB真的启动了吗?如果您等待,您是否会在该异常之后从数据库中获得更多启动消息?或者,如果你运行
docker-compose up -d,得到异常,等待 30-60 秒,然后再次尝试相同的命令,它会启动吗?
标签: java mongodb docker ubuntu docker-compose