我有两个需要 dockerize 的 Dart 应用程序。这两个应用程序使用共享源目录。
因为 Docker 阻止从上下文目录 ( project/app1)之外的文件夹添加文件,所以我无法从../shared或从shared(内部的符号链接projects/app1)添加文件。
我正在寻找一种方法来欺骗 Docker 无论如何。
我的简化项目结构
- projects
- app1
- Dockerfile
- shared (symlink ../shared)
- otherSource
- app2
- Dockerfile
- shared (symlink ../shared)
- otherSource
- shared
- source
Run Code Online (Sandbox Code Playgroud)
我可以向上移动Dockerfile一级并docker build从那里运行,但随后我需要在同一目录中使用两个 Dockerfile(用于 app1 和 app2)。
我目前的想法是,如果我能以某种方式隐藏projects/app1/shared作为符号链接的事实,这个问题就会得到解决。我检查了是否可以projects使用 Samba进行共享并将其重新安装到其他地方,并将 Samba 配置为将符号链接视为普通文件夹,但还没有找到是否支持(我对 Samba 没有太多经验,还没有尝试过,只是搜索了一下) .
有没有其他工具或技巧可以做到这一点?
我宁愿不更改目录结构,因为这会导致其他麻烦,也不愿复制文件。