n1ro°
RU

Текст и данные · Инструкция

Как отличить bind mount, volume и tmpfs через docker inspect

Как отличить bind mount, volume и tmpfs через docker inspect: смотрите массив Mounts конкретного контейнера. Поле Type даёт прямой ответ, Destination показывает путь внутри контейнера, Source — источник на стороне Docker/хоста, а RW указывает режим записи. Это быстрее и надёжнее, чем пытаться восстановить конфигурацию по имени контейнера или Dockerfile.

Редакция N1RO · Проверено

Короткий ответ

Запустите docker inspect и смотрите секцию Mounts. Поле Type прямо показывает bind, volume или tmpfs, а Destination, Source и RW помогают понять путь, источник и режим записи.

Docker inspect mounts: ключевой принцип

docker inspect возвращает низкоуровневые данные объекта в JSON и позволяет форматировать нужные поля через --format. Для обычного bind mount в Mounts виден Type=bind и путь Source на хосте. Для named volume Type=volume указывает Docker-managed volume, а его детали можно дополнительно смотреть через docker volume inspect.

Совет: docker inspect возвращает низкоуровневые данные объекта в JSON и позволяет форматировать нужные поля через --format.

Type bind volume tmpfs: ограничения и ошибки

Для tmpfs Type=tmpfs, Source обычно пустой, потому что такой mount живёт в памяти и не имеет постоянного каталога источника. Поле Destination показывает путь внутри контейнера, а RW помогает быстро заметить read-only монтирование. Диагностика по inspect надёжнее догадки по docker run-команде, особенно если контейнер создан Compose или сторонним инструментом. В связанных материалах и настройках встречаются также термины: Source Destination RW, docker inspect format Mounts.

Предупреждение: Диагностика по inspect надёжнее догадки по docker run-команде, особенно если контейнер создан Compose или сторонним инструментом.

Как выполнить проверку

  1. Выполните docker inspect <container> и найдите массив Mounts.
  2. Для компактного вывода используйте --format и выведите JSON поля .Mounts.
  3. Сопоставьте Type с bind, volume или tmpfs, затем проверьте Destination.
  4. Для bind проверьте Source на хосте; для volume выполните docker volume inspect.
  5. Если запись не работает, проверьте RW и параметры read-only до изменения разрешений файлов.

Совет: Выполните docker inspect <container> и найдите массив Mounts.

Контроль перед завершением

  • В inspect найден нужный Destination.
  • Type совпадает с ожидаемым bind/volume/tmpfs.
  • RW проверен отдельно от прав пользователя внутри контейнера.

Практический нюанс

Для volume Source обычно не равен пользовательскому пути на хосте: Docker управляет местом хранения сам. Если приложению нужен конкретный каталог хоста, это признак bind mount, а не named volume.

Что проверить в реальном сценарии

В `Mounts` полезно читать поля вместе: `Type`, `Source`, `Destination` и `RW`. Один только путь внутри контейнера ничего не говорит о типе хранения, а `RW=false` сразу объясняет часть ошибок записи без бессмысленного `chmod`.

Как убедиться, что задача решена

Для быстрой проверки используйте форматированный вывод, например docker inspect CONTAINER --format "{{json .Mounts}}". У volume обычно будет Type=volume и имя/путь Docker в Source; у bind — путь хоста; у tmpfs Source может быть пустым. Поле RW=false подтверждает read-only. Если mount ожидается, но отсутствует в массиве, проблема находится в команде запуска или Compose-конфигурации, а не внутри приложения.

Важно: Для volume проверен отдельный inspect

Что учитывать

Для tmpfs Type=tmpfs, Source обычно пустой, потому что такой mount живёт в памяти и не имеет постоянного каталога источника. Поле Destination показывает путь внутри контейнера, а RW помогает быстро заметить read-only монтирование. Диагностика по inspect надёжнее догадки по docker run-команде, особенно если контейнер создан Compose или сторонним инструментом. В связанных материалах и настройках встречаются также термины: Source Destination RW, docker inspect format Mounts.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. docker inspect). Пример и формулировки — редакция N1RO на 2026-09-23.