TransWikia.com

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

Stack Overflow на русском Asked on December 3, 2020

Вопрос Замена 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 такая концепция?

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP