У меня есть два приложения Dart, которые мне нужно докеризировать. Эти два приложения используют общий исходный каталог.
Поскольку Docker не позволяет добавлять файлы из папок вне контекстного каталога (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, и я еще не пробовал, просто немного искал ).
Есть ли другой инструмент или трюк, который позволил бы это?
Я бы предпочел не менять структуру каталогов, потому что это может вызвать другие проблемы, а также не копировать файлы.