Как прикрепить постоянный том в файле docker-compose для mongodb?
У меня есть файл docker-compose, который будет вызывать контейнеры mongo и mongo-express в одной сети "mynet". Я создал сеть:
docker network create mynet
Я создал том с именем "demo-vol" с помощью команды docker.
docker volume create demo-vol
Внутри контейнера я создал образец коллекции монго. Когда я делаю 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