Как прикрепить постоянный том в файле 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
Другие вопросы по тегам