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