РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcPmVlNV 40 of 81 menu
◀ ▶

Именованный том в Docker

Именованный том хранит файлы у службы под выбранным именем, а не в папке проекта. Том живёт отдельно от записи о контейнере: удалили копию - данные в томе остаются, пока том не удалят.

Имя задают до запуска командой создания, затем подключают его слева в паре для флага -v, а справа указывают папку внутри контейнера. Служба сама кладёт файлы в своё хранилище на диске.

Создадим том box и подключим его к контейнеру keeper в точку /data. Сначала появится запись хранилища с именем box:

docker volume create box

Контейнер из alpine будет ждать в фоне, пока мы проверим запись:

docker run -d --name keeper -v box:/data alpine sleep 300

Внутри keeper положим файл с одним словом в том:

docker exec keeper sh -c "echo saved > /data/note.txt"

Остановим keeper и уберём его запись, сам том box при этом останется:

docker stop keeper

Запись о контейнере можно убрать отдельной командой:

docker rm keeper

Новый контейнер next с тем же томом должен показать сохранённое слово saved. Сначала запуск:

docker run -d --name next -v box:/data alpine sleep 300

Содержимое файла в томе можно прочитать из next:

docker exec next cat /data/note.txt

Создайте том с именем shelf и запишите в него слово kept из контейнера.

Удалите контейнер, запустите новый с тем же томом и убедитесь, что слово kept на месте.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить