Как восстановить Docker Postgres контейнер? - PullRequest
0 голосов
/ 27 ноября 2018

Я новичок в докере.К сожалению, я внес изменение - я установил переменную окружения vew из GUI, и это удивительно вызвало пересоздание контейнера!Все базы данных postgreSQL были потеряны.Итак, два вопроса: почему это произошло?есть ли способ отката?(Там не было никаких резервных копий или что-то еще).

1 Ответ

0 голосов
/ 27 ноября 2018

Существует довольно широкий набор изменений, которые требуют удаления и воссоздания контейнеров.Как вы обнаружили, это включает в себя изменение переменных среды;он также включает в себя опубликованные порты, сопоставленные с хостом каталоги и изменение изображения под контейнером.В свою очередь, изображение изменится, если когда-либо появятся какие-либо обновления для системы безопасности, выпуск исправлений программного обеспечения или просто новая сборка приложения.

Вкратце: удаление контейнеров Docker очень распространено, и вам необходимоубедитесь, что данные сохранены .

Стандартный способ сделать это - установить дополнительное хранилище в контейнер.Docker предоставляет систему именованный том , но именованные тома могут быть непрозрачными и сложными в управлении;часто bind mount каталог хоста проще.(Примечание: связанная документация поддерживает именованные тома, каталоги хостов IME легче проверять и управлять ими с помощью легко доступных инструментов, не относящихся к Docker.) Вам необходимо просмотреть документацию по каждому образу, чтобы знать, где подключить хранилище, но для стандартного postgres изображение находится в /var/lib/postgresql/data (см. «Где хранить данные» в конце связанной страницы).В обычном Docker вы можете запустить

docker run \
  -d \
  -p 5432:5432 \
  -v ./postgres:/var/lib/postgresql/data \
  postgres:11

, но, вероятно, для этого есть настройка в вашем инструменте с графическим интерфейсом.

Ваши предыдущие данные, вероятно, потеряны.Docker не хранит моментальные снимки контейнеров, а удаление контейнера фактически удаляет его и лежащие в его основе данные.Вам по-прежнему нужно делать такие вещи, как резервное копирование ваших данных в случае сбоя Docker или какой-либо другой части вашей системы.

...