J'ai deux applications Dart que je dois dockeriser. Ces deux applications utilisent un répertoire source partagé.
Parce que Docker empêche l'ajout de fichiers provenant de dossiers situés en dehors du répertoire de contexte ( project/app1
) Je ne peux pas ajouter de fichiers à partir de ../shared
ni de shared
(le lien symbolique à l'intérieur de projects/app1
).
Je cherche un moyen d'inciter Docker à le faire de toute façon.
Ma structure de projet simplifiée
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Je pourrais bouger Dockerfile
un niveau supérieur et courir docker build
à partir de là, mais j'ai alors besoin de deux Dockerfiles (pour app1 et app2) dans le même répertoire.
Mon idée était que, si je pouvais d'une manière ou d'une autre cacher le fait que projects/app1/shared
est un lien symbolique, ce problème serait résolu. J'ai vérifié si je pouvais partager projects
en utilisant Samba et le remonter ailleurs et configurer Samba pour qu'il traite les liens symboliques comme des dossiers normaux, mais je n'ai pas trouvé si cela est pris en charge (je n'ai pas beaucoup d'expérience avec Samba et je ne l'ai pas encore essayé, j'ai juste fait quelques recherches).
Existe-t-il un autre outil ou une autre astuce qui permettrait de le faire ?
Je préférerais ne pas modifier la structure des répertoires, car cela entraînerait d'autres problèmes, et je préférerais également ne pas copier de fichiers.