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 ../sharedni 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 Dockerfileun nivel y ejecutar docker builddesde 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/sharedes un enlace simbólico, este problema se resolvería. Verifiqué si puedo compartir projectsusando 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.

Este problema ha surgido repetidamente en la comunidad Docker. Básicamente viola el requisito de que
Dockerfilesea repetible si lo ejecutas o yo lo ejecuto. Por lo tanto, no esperaría esta capacidad, como se describe en este ticket: el comando Dockerfile ADD no sigue los enlaces simbólicos en el host # 1676 .Entonces debes concebir un enfoque diferente. Si observa este problema: AGREGAR para admitir enlaces simbólicos en el argumento # 6094 , un amigo nuestro de U&L ( @Patrick aka. Phemmer) proporciona una solución inteligente.
Esto le indica
extracto de la página del manual de tartara desreferenciar los enlaces simbólicos del directorio actual y luego canalizarlos aldocker build -comando.fuente
cpcomando, ¿puedes explicar por qué es mejor? También creo que la tubería es confusa / demasiado complicada. ¿Por qué no simplemente colocar el comando tar sobre el comando build? Supongo que entonces sobrescribirías el directorio enlazado con el directorio real./bin/cp ../requirements.txt . && docker build ...a un Makefile para construir el Docker, fue más fácil