Данные не сохраняются на томе хоста с помощью docker-compose.yml для MongoDB - PullRequest
0 голосов
/ 20 декабря 2018

На моем Mac установлен докер вместе с образом MongoDB.Когда я запускаю контейнер с томом, указанным непосредственно в команде запуска docker, данные сохраняются даже после остановки контейнера.Но то же самое не работает, когда я делаю это через docker-compose.yml.Может кто-нибудь подсказать, что не так с файлом docker-compose.yml?

Когда я это делаю, данные сохраняются:

docker run --name mongodb -v /Users/shrap7/projects/mongodb/data:/data/db --rm -d mongo

Но когда я пытаюсь сделать то же самое сdocker-compose.yml - данные не сохраняются.

version: '3.4'
services:
    mongodb:
       image: mongo:latest
       container_name: "mongodb"
       volumes:
          - /Users/shrap7/projects/mongodb/data:/data/db
       ports:
          - 27017:27017

Я пробовал с двойными кавычками, пробовал относительный путь, то есть ./data:/data/db, но безуспешно.Спасибо.

1 Ответ

0 голосов
/ 15 марта 2019

Я использую Windows, и у меня была та же проблема сегодня.Я нашел этот gist , который показывает конфигурацию mongodb для docker-compose и поддерживает именованные тома.Я попытался использовать именованные тома, и это сработало для меня.

Итак, в вашем случае вы можете попробовать следующую конфигурацию (с именованными томами):

services:
    mongodb:
        image: mongo:latest
        container_name: "mongodb"
        volumes:
            - mongodb:/data/db
            - mongodb_config:/data/configdb
        ports:
            - 27017:27017
volumes:
    mongodb:
    mongodb_config:
...