如何在Docker文件中使用“ADD”命令包含Docker构建上下文之外的文件?
从Docker文档中:
路径必须位于生成的上下文中;您不能添加../something/something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。
我不想重组我的整个项目,只是为了在这件事上适应Docker。我想将所有Docker文件保存在同一个子目录中。
此外,Docker似乎还不支持符号链接:Dockerfile ADD命令不支持主机#1676上的符号链接。
我唯一能想到的另一件事是包含一个预构建步骤,将文件复制到Docker构建上下文中(并配置我的版本控制以忽略这些文件)。还有比这更好的解决方法吗?
我想今年早些时候,buildx中添加了一个功能来实现这一点。
如果你有dockerfile 1.4+和buildx 0.8+,你可以这样做
docker buildx build --build-context othersource= ../something/something .
然后在docker文件中,可以使用from命令添加上下文
ADD –from=othersource . /stuff
查看此相关帖子https://www.docker.com/blog/dockerfiles-now-support-multiple-build-contexts/
我想今年早些时候,buildx中添加了一个功能来实现这一点。
如果你有dockerfile 1.4+和buildx 0.8+,你可以这样做
docker buildx build --build-context othersource= ../something/something .
然后在docker文件中,可以使用from命令添加上下文
ADD –from=othersource . /stuff
查看此相关帖子https://www.docker.com/blog/dockerfiles-now-support-multiple-build-contexts/