如何使用Docker文件中的“ ADD”命令从Docker构建上下文之外包含文件?从Docker文档中:路径必须在构建上下文内;您不能添加../something/something,因为Docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。我不想为了适应Docker而重组我的整个项目。我想将所有Docker文件保留在同一子目录中。此外,似乎Docker尚未(可能从未)支持符号链接:Dockerfile ADD命令未遵循主机#1676上的符号链接。我唯一能想到的就是包括一个预构建步骤,将文件复制到Docker构建上下文中(并配置我的版本控制以忽略这些文件)。有没有比这更好的解决方法了?
4 回答
心有法竹
TA贡献1866条经验 获得超5个赞
我经常发现自己--build-arg为此目的而使用了该选项。例如,将以下内容放入Dockerfile中:
ARG SSH_KEY
RUN echo "$SSH_KEY" > /root/.ssh/id_rsa
您可以这样做:
docker build -t some-app --build-arg SSH_KEY="$(cat ~/file/outside/build/context/id_rsa)" .
但是请注意Docker文档中的以下警告:
警告:不建议使用构建时变量来传递诸如github密钥,用户凭据等机密。构建时变量值对于使用docker history命令的映像的任何用户都是可见的。
- 4 回答
- 0 关注
- 718 浏览
添加回答
举报
0/150
提交
取消