Files
SecondBrain/.trash/05 NoxPKB/wiki/Docker—Volumes (one-screen).md
T
2026-04-20 22:55:39 +03:00

1.5 KiB

Docker — Volumes (one-screen)

1) Зачем

Данные контейнера по умолчанию неперсистентны (контейнер удалили — данные исчезли). Поэтому “живущие” данные (БД, логи, конфиги, артефакты) выносят во volumes.

По умолчанию Docker volumes лежат в: /var/lib/docker/volumes/

2) Варианты подключения

Host bind-mount

Монтируем конкретный путь хоста:

docker run -v /host/data:/var/lib/mysql/data ...

Плюс — прозрачно. Минус — завязка на конкретный путь/права.

Anonymous volume

docker run -v /var/lib/mysql/data ...

Docker сам создаст volume в дефолтной директории.

Named volume

docker run -v mydb:/var/lib/mysql/data ...

Как anonymous, но есть имя, можно переиспользовать.

3) Права доступа (важно)

Права/владелец в смонтированном каталоге зависят от uid/gid внутри контейнера.

Чтобы не монтировать всё от root, можно использовать userns-remap (маппинг uid/gid контейнера → другие uid/gid на хосте). Настраивается в /etc/docker/daemon.json:

{
  "userns-remap": "<username>"
}

Source: Volume - Docker