Сохранение данных с помощью томов Docker
Узнайте, как тома Docker и монтирование каталогов сохраняют данные после завершения срока жизни контейнера и позволяют обмениваться файлами между узлом и контейнером
«Сохранение данных с помощью томов Docker» — бесплатный урок Docker & Kubernetes for Developers на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & Kubernetes for Developers, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & Kubernetes for Developers содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Containers Are Ephemeral
When a container is removed, everything written inside its writable layer is gone. For databases, uploads, or logs you need storage that survives the container.
Two Storage Options
Docker offers two main mechanisms:
- Volumes: managed by Docker, stored in a dedicated area
- Bind mounts: map a specific host folder into the container
Volumes are the recommended default.
Creating a Volume
Create a named volume with docker volume create. Docker manages where it physically lives.
docker volume create app_dataMounting a Volume
Attach the volume to a container path with -v. Anything written to that path persists in the volume.
docker run -d -v app_data:/var/lib/data my_appBind Mounts for Development
A bind mount maps a host directory into the container, great for live-editing source code during development.
docker run -v /home/me/project:/app node:20Listing and Inspecting Volumes
See all volumes with docker volume ls, and view details, including the mount point, with docker volume inspect.
docker volume ls
docker volume inspect app_dataVolumes in Compose
In docker-compose.yml you declare volumes once and reference them in services. Use single quotes and indentation, never tabs.
services:
db:
image: postgres:16
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:Sharing a Volume Between Containers
Multiple containers can mount the same volume to share files, for example an app writing files and a backup container reading them.
docker run -v shared:/data writer
docker run -v shared:/data readerRead-Only Mounts
Append :ro to mount a volume read-only when a container should never modify the data, adding a safety guard.
docker run -v config:/etc/app:ro my_appBacking Up a Volume
Back up a volume by running a throwaway container that tars its contents to the host.
docker run --rm -v app_data:/data -v $(pwd):/backup \
alpine tar czf /backup/data.tar.gz /dataCleaning Up Unused Volumes
Orphaned volumes waste disk. Remove a named one with docker volume rm, or clear all unused volumes with docker volume prune, carefully.
docker volume pruneQuick Check
Test your understanding of Docker storage.
Recap
You learned to persist data in Docker:
- Containers are ephemeral; use volumes or bind mounts for durable data
- Mount with
-v name:/path; use bind mounts for live dev - Declare volumes in Compose and share them between containers
- Back up, mount read-only, and prune unused volumes
Volumes let your databases and files outlive any single container.
Изучай Docker & Kubernetes for Developers с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 12
- Уроки
- 48
Часто задаваемые вопросы
Урок «Сохранение данных с помощью томов Docker» бесплатный?
Да — полный текст урока «Сохранение данных с помощью томов Docker» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Docker & Kubernetes for Developers, подпишись на CoddyKit PRO. Курс Docker & Kubernetes for Developers содержит 4 уроков всего.
Чему я научусь в уроке «Сохранение данных с помощью томов Docker»?
Узнайте, как тома Docker и монтирование каталогов сохраняют данные после завершения срока жизни контейнера и позволяют обмениваться файлами между узлом и контейнером Ты практикуешь Docker & Kubernetes for Developers с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Docker & Kubernetes for Developers?
Предыдущий опыт не требуется. Docker & Kubernetes for Developers на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Сохранение данных с помощью томов Docker»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Docker & Kubernetes for Developers?
Да. Каждый урок Docker & Kubernetes for Developers включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание Dockerfile для образов
- Сборка пользовательских образов Docker
- Приложения из нескольких контейнеров с Compose
- Сохранение данных с помощью томов Docker