У мене є два додатки Dart, які мені потрібно докерізувати. Ці два додатки використовують спільний каталог джерел.
Оскільки Докер забороняє додавати файли з папок поза каталогом контексту ( project/app1
), я не можу додавати файли ../shared
ні з, ні з shared
(посилання символу всередині projects/app1
).
Я шукаю спосіб, як обдурити Докера, щоб це все одно було.
Моя спрощена структура проекту
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Я міг би перейти на Dockerfile
один рівень вгору і бігти docker build
звідти, але тоді мені потрібні два Dockerfiles (для app1 і app2) в одному каталозі.
Моя нинішня ідея полягала в тому, що якби я міг якось приховати факт, що projects/app1/shared
є символьним посиланням, ця проблема була б вирішена. Я перевірив, чи можу я projects
користуватися Samba, і перекомпонувати його деінде, і налаштувати Samba так, щоб вона посилалася як на звичайні папки, але не знайшла, чи підтримується це (я не маю великого досвіду роботи з Samba і ще не пробував, просто пошукав трохи) .
Чи є якийсь інший інструмент чи трюк, який би це дозволив?
Я б краще не змінював структуру каталогів, оскільки це спричинило б інші проблеми, а також не копіювало файли навколо.