Экземпляр докера Postgres не сохраняется в состоянии после перезапуска - PullRequest
0 голосов
/ 18 января 2019

Я вытащил и запустил официальный образ postgres из docker-hub. Все работает, но проблема в том, что когда я останавливаю и запускаю контейнер, все данные теряются, и экземпляр возвращается в чистое состояние, в то время как я ожидаю, что данные будут сохранены в самом хранилище экземпляра.

Я не хочу использовать внешние тома, чтобы сохранить сам экземпляр.

это проблема конфигурации?

1 Ответ

0 голосов
/ 18 января 2019

Да: вам нужно использовать внешние тома (либо собственные тома Docker, либо каталоги хоста), это не является обязательным. Удаление и воссоздание контейнеров - это чрезвычайно рутина (вам нужно сделать это, чтобы применить исправление безопасности в программном обеспечении базы данных или окружающей среде дистрибутива Linux, если ничего больше), и если вы удалите контейнер, вы потеряете все данные, которые был в нем.

Типичный вызов PostgreSQL будет выглядеть как

docker run \
  --name postgres \
  -d \
  -p 5432:5432 \
  -v $PWD/pgdata:/var/lib/postgresql/data \
  postgres:11

https://hub.docker.com/_/postgres/ перечисляет все переменные среды и пути файловой системы контейнера, которые интересны для обычного пользователя.

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