#mongodb #docker #docker-compose #docker-volume #mongo-express
#mongodb #docker #docker-compose #docker-volume #mongo-express
Вопрос:
У меня есть файл docker-compose, который вызовет контейнеры mongo и mongo-express в той же сети «mynet». Я создал сеть с помощью:
docker network create mynet
Я создал том с именем «demo-vol» извне с помощью команды docker.
docker volume create demo-vol
Внутри контейнера я создал образец коллекции mongo.
Когда я выполняю docker-compose up, я могу видеть, что контейнер запущен, но я не могу найти данные mongo в этом указанном томе.
Ниже приведен мой файл docker-compose.файл yaml
version: '3'
services:
mongo:
image: mongo
container_name: mymongo
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- "/demo-vol:/data/db"
networks:
- mynet
ports:
- 27017:27017
mongoexpress:
image: mongo-express
container_name: mymongoexpress
ports:
- 8081:8081
volumes:
- "/demo-vol:/data/db"
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
depends_on:
- mongo
networks:
- mynet
volumes:
demo-vol:
external: true
networks:
mynet:
external: true
Что мне нужно, так это:
Даже после удаления контейнера я хочу, чтобы мои данные оставались постоянными.
Как это сделать и, пожалуйста, объясните. Где я ошибаюсь?
Примечание: я новичок в концепциях Docker.
Заранее спасибо.
Ответ №1:
Вы можете использовать локальный драйвер для тома
volumes:
demo-vol:
driver: local
и попробуйте удалить косую черту
volumes:
- demo-vol:/data/db