#mongodb #docker #docker-compose
#mongodb #docker #docker-compose
Вопрос:
Я долго пытался подключить mongo db к своему локальному хранилищу, но комментарий к коду ( # — ./database:/data/db) не может быть успешно смонтирован, если я хочу одновременно инициализировать 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:
Ответ №1:
Разница приводит к разным локальным каталогам. Моя проблема должна быть решена путем удаления старого тома и его обновления.