Тома (volumes)
Тома (volumes) – файлы или каталоги, смонтированные на хосте и не являющиеся частью каскадно-объединенной файловой системы.
Другие контейнеры могут совместно использовать их, и все изменения будут сразу же фиксироваться в файловой системе хоста.
Устаревшее: В качестве точки монтирования можно определить любой другой каталог хоста в команде docker run (например, docker run -d -v /host/dir:/container/dir test/web-server).
В Dockerfile bind mounts не работает.
Способы хранения данных:
- Временное (удаляется при остановке контейнера)
- по умолчанию изолировано на диске
- tmpfs в оперативной памяти
- Постоянное
- обычные тома Docker
- bind mounts - прямое монтирование папки в контейнер
Управление томами при запуске контейнера из консоли:
Если тома нет - будет создан
Основная команда | Параметр | Описание |
docker run ... --mount | type= |
Тип тома:
|
source(src)= | Имя тома или не указывается для анонимных | |
destination(dst)= | точка монтирования в контейнере | |
volume-driver= | local по умолчанию, локальный том | |
volume-opt= |
опция=значение
|
|
readonly | только для чтения | |
docker run ... --volumes-from ContID |
связывание с томами контейнера |
Пример:
--mount 'type=volume,src=data-volume,dst=/var/opt/project,volume-driver=local,readonly'
Без пробелов после запятых.
Создание и управление томами независимо от контейнеров