为了连接弹簧引导到mongoDB,我使用的是坞。我为mongo和springboot应用程序创建了docker映像。
在开始运行的容器是:
C:\Users\ASUS>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6dc2aa34ff8f mongo:latest "docker-entrypoint.s…" 3 hours ago Up 3 hours 0.0.0.0:27017->27017/tcp mongodbproject
C:\Users\ASUS>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot-mongodb 1.0 5a1cf26b0e0b 5 minutes ago 550MB
mongo latest d98599fdfd65 2 days ago 696MB但是,为了为它们建立连接,我使用了以下命令。
C:\Users\ASUS>docker run -p 8080:8080 --name springboot-mongodb --link mongodbproject:mongo -d springboot-mongodb:1.0
36120b50f09ae07c7c88ca10b1f478d726a1a5c318ee0c9d0f0fc3fb9eff5750在此之后,我无法在运行容器中看到springboot-mongodb:
C:\Users\ASUS>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6dc2aa34ff8f mongo:latest "docker-entrypoint.s…" 3 hours ago Up 3 hours 0.0.0.0:27017->27017/tcp mongodbproject在此之后,当我检查Docker应用程序时,它会说springboot-mongodb的状态为exited(1)。当我试图再次运行它时,它又停止了。
发布于 2022-08-05 21:17:02
您的Spring应用程序快死了。不要使用-d,然后查看日志,并修复显示的错误。或者使用docker ps -a,然后获取被杀死容器的ID,然后运行docker logs <id>
最理想的情况是,无论如何,你应该使用Docker构图。不建议使用--link选项。
x-mongo: &mongo-opts
MONGODB_USERNAME: mongoUser
MONGODB_PASSWORD: mongoPass
MONGODB_DATABASE: example
version: '2'
services:
web:
image: springboot-mongodb:1.0
ports:
- "8080:8080"
environment:
<<: *mongo-opts
MONGODB_PROTOCOL: mongodb # Example variables. Added in case you wanted to change to mongo+srv://
MONGODB_HOST: mongodb:27017
depends_on:
- mongodb
mongodb:
image: mongo:latest
ports:
- "27017:27017"
environment:
<<: *mongo-opts
MONGODB_ROOT_PASSWORD: l0c@lhttps://stackoverflow.com/questions/73254652
复制相似问题