如何包含Docker构建上下文之外的文件?

如何在Docker文件中使用“ADD”命令包含Docker构建上下文之外的文件

从Docker文档中:

路径必须在构建的上下文中;您不能添加
../something/something,因为docker构建的第一步是
将上下文目录(和子目录)发送到docker守护程序

我不想重组我的整个项目只是为了适应Docker在这件事上。我想将所有Docker文件保存在同一子目录中

此外,Docker似乎还不(可能永远也不)支持符号链接:Dockerfile ADD命令在主机#1676上不遵循符号链接

我唯一能想到的另一件事是包括一个预构建步骤,将文件复制到Docker构建上下文中(并将我的版本控制配置为忽略这些文件)。还有比这更好的解决办法吗

解决此问题的最佳方法是使用-f独立于构建上下文指定Dockerfile

例如,此命令将允许ADD命令访问当前目录中的任何内容

docker构建-f docker文件/docker文件。

更新:Docker现在允许将Dockerfile置于构建上下文之外(在18.03.0-ce中修复)。所以你也可以这样做

docker build-f../Dockerfile。

发表评论