Как автоматически монтировать каталог в docker-контейнере при его монтировании в хосте?

Есть контейнер с примонтированной через volume папкой допустим на хосте /opt/project1/, а внутри контейнера - /var/www
docker run -v /opt/project1:/var/www....
На хосте делаем mount второго диска (sdb1) в папку /opt/project1/folder1.
Кладем туда любой файл.
Контейнер и соответственно приложение не видит этого файла. Перезапускаем контейнер и тогда файл виден.
Делаем umount /opt/project1/folder1.
А контейнер продолжает видеть смонтированный диск и его содержимое до своего перезапуска.
Что почитать про это поведение - может кто сталкивался?
  • Вопрос задан
  • 1027 просмотров
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
software engineer
Если взять директорию, положить в нее файл, затем на эту (не пустую) директорию что-то замаунтить.
Если ты уже вышел из директории, файл будет недоступен по пути - на этом месте уже будет новый бинд. Но после отмонтирования, там снова будет доступен файл.

Так что маунт в папку - это не создание поддиректории, поэтому если в одном контейнере ты что-то маунтишь, другой контейнер этого видеть не будет.

Маунты хранятся в /proc, а именно в /proc/mounts, и следовательно так как каждый контейнер хранит свой собственный /proc, если что-то перемаунтилось, другие контейнеры об этом "не знают".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы