Что нужно сделать, чтобы данные PostgreSQL не потерялись после перезапуска контейнера?

Данные контейнера по умолчанию сохраняются в его файловой системе, которая является временной и изолированной.

Короткий ответ

Что ответить на собеседовании

Данные контейнера по умолчанию сохраняются в его файловой системе, которая является временной и изолированной. После остановки контейнера его файловая система сохраняется, но при удалении контейнера (docker rm) данные удаляются вместе с контейнером. Если контейнер просто остановлен (docker stop), данные остаются, и при повторном запуске контейнера они будут доступны.

Подробный разбор

Ответ с пояснениями

Данные контейнера по умолчанию сохраняются в его файловой системе, которая является временной и изолированной. После остановки контейнера его файловая система сохраняется, но при удалении контейнера (docker rm) данные удаляются вместе с контейнером. Если контейнер просто остановлен (docker stop), данные остаются, и при повторном запуске контейнера они будут доступны.

Для сохранения данных вне жизненного цикла контейнера обычно используют тома (volumes) или монтирование директорий с хоста. Это позволяет сохранять данные независимо от состояния контейнера.

Пример:

# Создаем и запускаем контейнер с томом
docker run -d --name mycontainer -v myvolume:/data busybox

# Останавливаем контейнер
docker stop mycontainer

# Данные в томе myvolume сохранятся и будут доступны при следующем запуске контейнера

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку