У мене є два додатки 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 і ще не пробував, просто пошукав трохи) .
Чи є якийсь інший інструмент чи трюк, який би це дозволив?
Я б краще не змінював структуру каталогів, оскільки це спричинило б інші проблеми, а також не копіювало файли навколо.