Есть ли в Docker-e концепция доступа к локальным файлам без их прямого копирования?

Вопрос Замена npm-ссылок в Docker-контейнере (случай для образа “node:12.4” и файла“docker-compose”) оказался "крепким орешком" как на русскоязычном, на и на англоязычном StackOverflow (на последнем конкурс закончился без единого ответа). Одной из причин является непонимание мной концепции Docker volum-ов.

Этот урок по Docker для начинающих получил высокие оценки и хвалебные комментарии, но объяснение концепции Volum-ов нуждается в серьёзной доработке:

По сути, Docker-volume - это настройка на теми же папками (прим.: монтируемыми локальными папками). Просто мы создаём Docker-volume и прицепляем его к контейнеру. Сам Docker volume представляет собой папку, просто она хранится по определённому пути.

Я сделал вывод, что Docker-volume - это настройка доступа к локальным файлам из Docker-контейнера, а не их копирование. Но видимо, оно оказалось ошибочным:

Вы по сути привязываете локальную директорию к volum-у (другими словами - копируете) когда добавляете двоеточие в определение volumes в файле docker-compose.

Оригинал:

You are actually binding your local directory to the volume (which means copying) when you add the colon : in the volumes part of the docker-compose file

Источник (см. комментарии к вопросу)

Если концепция Docker-volum-ов подразумевает копирование, то это - не то, что мне надо. Почему? Само по себе слово "копирование" уже настораживает и сразу возникает вопрос: отразятся ли изменения на Docker-контейнере, когда в файлах, копия которых была сделана, произойдут изменения? Могу предположить, что это не так, а в режиме локальной разработки нужно, чтобы было именно так и не как иначе для обеспечения обратной связи при внесении изменений в исходный код (конкретнее: при внесении в исходный код должна происходить его автоматическая перекомпиляция и далее - перезагрузка страницы браузера).

Мне нужна концепция "ярлыков": мы даём Docker-контейнеру ссылку на корневую папку проекта (другими словами, настраиваем к ней доступ из Docker-контейнера), а эффект при этом такой, что находится эта папка в Docker-контейнере, хотя никакого копирования не было.

Есть ли в Docker такая концепция?


Ответы (0 шт):