这是我的docker-compose.yml
文件
version: "3.9"
services:
mongodb:
image: mongo
ports:
- "27017:27017"
environment: # environmental variables
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=password
mongo-express:
image: mongo-express
ports:
- "8081:8081"
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=admin
- ME_CONFIG_MONGODB_ADMINPASSWORD=password
- ME_CONFIG_MONGODB_SERVER=mongodb
当我运行up
命令时
docker compose up
mongodb
正在运行,但mongo-express
没有运行,在日志中我看到一条消息,上面写着:
app-mongo-express-1 exited with code 0
当我运行ps
命令时,我只看到一个容器在运行:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
562b810882b6 mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:27017->27017/tcp app-mongodb-1
为什么mongo express没有运行?
我认为您没有添加mongodb和mongoexpress之间的依赖关系。您需要在mongo express下添加dependens_on。当然,由于mongoexpress无法连接到mongodb,它失败了,并添加了重新启动:始终到mongoexpress
version: "3.9"
services:
mongodb:
image: mongo
ports:
- "27017:27017"
environment: # environmental variables
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=password
mongo-express:
image: mongo-express
restart: always
ports:
- "8081:8081"
depends_on:
- mongodb
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=admin
- ME_CONFIG_MONGODB_ADMINPASSWORD=password
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true