Ho due applicazioni Dart che devo dockerizzare. Queste due app utilizzano una directory di origine condivisa.
Poiché Docker impedisce l'aggiunta di file da cartelle esterne alla directory di contesto ( project/app1
) non posso aggiungere file ../shared
né da shared
(il link simbolico all'interno projects/app1
).
Sto cercando un modo per ingannare Docker per farlo comunque.
La mia struttura di progetto semplificata
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Potrei salire di Dockerfile
livello ed eseguire docker build
da lì, ma poi ho bisogno di due Dockerfile (per app1 e app2) nella stessa directory.
La mia idea attuale era, se potessi in qualche modo nascondere il fatto che projects/app1/shared
è un collegamento simbolico questo problema sarebbe risolto. Ho verificato se posso condividere projects
usando Samba e rimontarlo da qualche altra parte e configurare Samba per trattare i collegamenti simbolici come normali cartelle, ma non ho trovato se questo è supportato (non ho molta esperienza con Samba e non l'ho ancora provato, ho solo cercato un po ') .
C'è qualche altro strumento o trucco che lo consentirebbe?
Preferirei non cambiare la struttura delle directory perché ciò causerebbe altri problemi e piuttosto non copiare i file in giro.