如何使用Docker文件中的“ ADD”命令从Docker构建上下文之外包含文件?
从Docker文档中:
路径必须在构建上下文内;您不能添加../something/something,因为Docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。
我不想为了适应Docker而重组我的整个项目。我想将所有Docker文件保留在同一子目录中。
此外,似乎Docker尚未(可能从未)支持符号链接:Dockerfile ADD命令未遵循主机#1676上的符号链接。
我唯一能想到的就是包括一个预构建步骤,将文件复制到Docker构建上下文中(并配置我的版本控制以忽略这些文件)。有没有比这更好的解决方法了?
解决此问题的最佳方法是使用-f独立于构建上下文指定Dockerfile。
例如,此命令将使ADD命令可以访问您当前目录中的任何内容。
docker build -f docker-files/Dockerfile .
更新 :Docker现在允许将Dockerfile置于构建上下文之外(已在18.03.0-ce,https: //github.com/docker/cli/pull/886中修复)。所以你也可以做类似的事情
docker build -f ../Dockerfile .