Как сделать маунт директории хост-машины

В Docker для подключения директории с хост-машины в контейнер используется маунт (mount) через volumes) с помощью опции -v или --mount.


1. Через -v (старый синтаксис)

docker run -d \
  -v /path/on/host:/path/in/container \
  --name my_container \
  myapp:latest
  • /path/on/host — путь к директории на вашей машине.

  • /path/in/container — путь внутри контейнера, куда будет смонтирована папка.

  • Изменения в контейнере будут синхронизированы с хостом.

Пример:

docker run -d \
  -v /home/user/appdata:/app/data \
  --name my_app \
  myapp:latest
  • Любые файлы, созданные в /app/data контейнера, появятся в /home/user/appdata на хосте.


2. Через --mount (рекомендуемый современный синтаксис)

docker run -d \
  --mount type=bind,source=/home/user/appdata,target=/app/data \
  --name my_app \
  myapp:latest
  • type=bind — монтирование хостовой директории.

  • source — путь на хосте.

  • target — путь в контейнере.


Особенности

  • Монтированная директория перезаписывает содержимое контейнера в этом пути.

  • Используется для:

    • хранения данных вне контейнера,

    • синхронизации кода для разработки,

    • логов и конфигураций.


Итог: маунт позволяет контейнеру работать с директориями хост-машины, сохраняя данные вне контейнера и обеспечивая синхронизацию.

Last updated

Was this helpful?