Постоянная база данных контейнера докера - PullRequest
0 голосов
/ 03 июля 2018

В своем проекте я использую образ докера postgres. Для инициализации я использую следующую команду для создания и инициализации моей базы данных (таблицы, представления, данные, ...)

COPY sql_dump.sql /docker-entrypoint-initdb.d/

Возможно ли сохранить эти данные после остановки и удаления контейнера? Например, когда я запускаю образ postgres, он создает базу данных с этими данными без загрузки скрипта каждый раз при запуске контейнера. Просто загрузите созданные данные первого запуска.

Я провел некоторое исследование и нашел команду VOLUME, но я не знаю, как использовать ее для своих целей, я новичок в Docker. Спасибо за любую помощь. Я использую Docker For Win v18.

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете использовать докер с именованными томами. Более подробную информацию можно найти здесь .

это создаст именованный том с именем postgres-data

docker volume create postgres-data 

и скажите, что это ваша команда для создания контейнера.

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

измени это на это.

docker run --name some-postgres  -v postgres-data:/var/lib/postgresql -e POSTGRES_PASSWORD=mysecretpassword -d postgres

это должно смонтировать том postgres-data в / var / lib / postgresql. могут ли они инициализировать вашу БД, и когда вы остановите и запустите контейнер, он будет содержать постоянные данные.

-HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...