为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星淼淼 2019-10-06 10:45:10
如何使用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命令的映像的任何用户都是可见的。


查看完整回答
反对 回复 2019-10-06
  • 4 回答
  • 0 关注
  • 718 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信