removespread / Docker
DOCKER · МОДУЛЬ 05 · УРОК 2

Что переживёт удаление контейнера

20 мин

Разбираем слой записи, named volume и bind mount; команды можно повторить на своей машине.

Права и данные~20 мин
После урока вы сможете
  • Выбирать хранение для данных и исходников
  • Читать параметры --mount
  • Проверять последствия readonly

Образ, контейнер и данные живут по-разному

Представьте тестовую SQLite-базу, созданную приложением в /data. Если каталог находится только в слое записи контейнера, остановка и повторный старт того же контейнера сохранят файл. Но удаление контейнера удалит и этот слой. Новый контейнер из прежнего образа не получит новые записи автоматически.

Named volume хранит данные отдельно от конкретного контейнера и управляется Docker. Пример ниже создаёт том и подключает его к пути /data. Здесь qa-api:1 — заранее собранный вами образ; наш текущий HTTP-сервис ничего в этот каталог не записывает.

docker volume create qa-data
docker run --name qa-with-data --mount type=volume,source=qa-data,target=/data qa-api:1

Этот урок объясняет команды для собственного Docker. Лаборатория на сайте не предоставляет постоянные тома: её временная машина удаляется после проверки. Не пытайтесь хранить результаты курса внутри неё.

Подробнее: volumes в документации Docker.

Шаг 1 из 5