Skip to main content

Тома (volumes)

Тома (volumes) – файлы или каталоги, смонтированные на хосте и не являющиеся частью каскадно-объединенной файловой системы. 
Другие контейнеры могут совместно использовать их, и все изменения будут сразу же фиксироваться в файловой системе хоста. 

Устаревшее: В качестве точки монтирования можно определить любой другой каталог хоста в команде docker run (например, docker run -d -v /host/dir:/container/dir test/web-server). 

В Dockerfile bind mounts не работает.

Способы хранения данных: 

  1. Временное (удаляется при остановке контейнера)
    1. по умолчанию изолировано на диске
    2. tmpfs в оперативной памяти
  2. Постоянное
    1. обычные тома Docker
    2. bind mounts - прямое монтирование папки в контейнер

Управление томами при запуске контейнера из консоли:

Если тома нет - будет создан

Основная командаПараметрОписание
docker run ... --mounttype=

Тип тома:

  • volume 
  • bind
  • tmpfs

source(src)=Имя тома или не указывается для анонимных

destination(dst)=точка монтирования в контейнере

volume-driver=local по умолчанию, локальный том

volume-opt=

опция=значение

volume-opt=type=nfs,volume-opt=device=<nfs-server>:<nfs-path>


readonlyтолько для чтения

docker run ...

--volumes-from ContID


связывание с томами контейнера

Пример:

--mount 'type=volume,src=data-volume,dst=/var/opt/project,volume-driver=local,readonly'

Без пробелов после запятых.
Создание и управление томами независимо от контейнеров