Eu tenho dois aplicativos Dart que eu preciso dockerize. Esses dois aplicativos usam um diretório de origem compartilhado.
Como o Docker impede a adição de arquivos de pastas fora do diretório de contexto ( project/app1
), não consigo adicionar arquivos de ../shared
nem de shared
(o link simbólico interno projects/app1
).
Estou procurando uma maneira de enganar o Docker a fazê-lo de qualquer maneira.
Minha estrutura de projeto simplificada
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Eu poderia subir Dockerfile
um nível e executar a docker build
partir daí, mas preciso de dois Dockerfiles (para app1 e app2) no mesmo diretório.
Minha idéia atual era: se eu pudesse, de alguma maneira, esconder o fato de projects/app1/shared
ser um link simbólico, esse problema seria resolvido. Eu verifiquei se posso compartilhar projects
usando o Samba e remontá-lo em outro lugar e configurar o Samba para tratar links simbólicos como pastas normais, mas não descobri se isso é suportado (eu não tenho muita experiência com o Samba e ainda não tentei, apenas procurei um pouco) .
Existe alguma outra ferramenta ou truque que permita isso?
Prefiro não alterar a estrutura de diretórios, pois isso causaria outros problemas e também não copiaria os arquivos.