Tengo dos aplicaciones Dart que necesito dockerize. Estas dos aplicaciones usan un directorio fuente compartido.
Debido a que Docker evita agregar archivos desde carpetas fuera del directorio de contexto ( project/app1
) no puedo agregar archivos desde ../shared
ni desde shared
(el enlace simbólico dentro projects/app1
).
Estoy buscando una manera de engañar a Docker para que lo haga de todos modos.
Mi estructura de proyecto simplificada
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Podría subir Dockerfile
un nivel y ejecutar docker build
desde allí, pero luego necesito dos Dockerfiles (para app1 y app2) en el mismo directorio.
Mi idea actual era que si de alguna manera pudiera ocultar el hecho de que projects/app1/shared
es un enlace simbólico, este problema se resolvería. Verifiqué si puedo compartir projects
usando Samba y volver a montarlo en otro lugar y configurar Samba para tratar los enlaces simbólicos como carpetas normales, pero no he encontrado si esto es compatible (no tengo mucha experiencia con Samba y aún no lo he probado, solo busqué un poco) .
¿Hay alguna otra herramienta o truco que lo permita?
Preferiría no cambiar la estructura del directorio porque esto causaría otros problemas y también no copiaría los archivos.