том докера: данные теряются при удалении или остановке контейнера, а затем перезапуске - PullRequest
0 голосов
/ 11 марта 2019

Я смонтировал 2 контейнера:

  • Mongo: в качестве базы данных -> том смонтирован по указанному пути

Docker run --hostname raw-data-mongo --name = raw-data-mongo
--network = наша сеть -p 27017: 27017 -v data / db / raw-data-db: / data / db -d mongo

  • Узлы: сохранить некоторые данные в mongodb

docker run -d -p 80: 3001 --name = raw-data-container --network = наша сеть -v / data / db / raw-data-db: / data / db raw-data-api

Но каждый раз, когда я сохраняю данные (используя контейнер приложения узла,подключиться к контейнеру mongo), а затем удалить свой контейнер узла и перезапустить, я не могу получить сохраненные данные.

Как мне сделать, чтобы смонтировать том, который не зависит от узла и, если возможно, не зависит откакой-нибудь контейнер?

Хотел бы я удалить и перезапустить контейнеры и при этом иметь возможность извлекать свои данные

Ответы [ 2 ]

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

Пожалуйста, попробуйте следующее

Шаг 1: Создайте каталог

$HOME/data/db/raw-data-db

Шаг 2: Затем назначьте громкость

docker run --hostname raw-data-mongo --name=raw-data-mongo
--network=our-network -p 27017:27017 -v $HOME/data/db/raw-data-db:/data/db -d mongo

Таким образом, ваши данныебудет сохранен для mongodb в объеме.Для node.js используйте другой объем.

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

Вы можете использовать команду -v, чтобы указать том, на котором вы хотите, чтобы при развертывании докера сохранялись ваши данные. Вы должны иметь в виду две вещи: во-первых, используемый вами докер должен отображать -v и использовать его для хранения своих данных (это делает mongodb, как и большинство проектов), а другой - пройденный путь тома персистентности. с -v должен существовать и процесс докера должен иметь права на запись в него.

Надеюсь, это поможет !!

...