我花了很长时间尝试将mongo db挂载到我的本地存储上,但是如果我想同时初始化db,代码注释(#- ./database:/data/db)无法成功挂载。然后,我尝试创建一个卷,如现在所示(单独创建卷部分)。而且它是有效的。你知道其中的区别和原因吗?你能指出一下吗?提前谢谢。
修改前
version: '3.5'
services:
mongodb:
image: mongo
container_name: mongodb
restart: unless-stopped
ports:
- 27017:27017
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=root
volumes:
- ./docker-entrypoint-initdb.d/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
- ./database:/data/db # not work
mongo-express:
image: mongo-express
container_name: mongo-express
restart: unless-stopped
ports:
- 8081:8081
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=root
- ME_CONFIG_MONGODB_ADMINPASSWORD=root
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_BASICAUTH_USERNAME=xhp
- ME_CONFIG_BASICAUTH_PASSWORD=xhp
depends_on:
- mongodb修改后
version: '3.5'
services:
mongodb:
image: mongo
container_name: mongodb
restart: unless-stopped
ports:
- 27017:27017
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=root
volumes:
- ./docker-entrypoint-initdb.d/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
- mongodb:/data/db
# - ./database:/data/db not work
mongo-express:
image: mongo-express
container_name: mongo-express
restart: unless-stopped
ports:
- 8081:8081
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=root
- ME_CONFIG_MONGODB_ADMINPASSWORD=root
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_BASICAUTH_USERNAME=xhp
- ME_CONFIG_BASICAUTH_PASSWORD=xhp
depends_on:
- mongodb
volumes:
mongodb:发布于 2021-01-15 22:25:16
这种差异会导致不同的本地目录。我的问题应该通过删除旧卷并更新它来解决。
https://stackoverflow.com/questions/65716432
复制相似问题