访问Dockerfile中构建所需的秘密/私有文件?

 时间熔金-岁月铅华_758 发布于 2022-12-23 11:29

我正在尝试在Docker中构建一个图像,它需要一些秘密文件来执行诸如从私有git repo中提取的内容.我见过很多人用这样的代码:

ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
RUN git clone git@github.com:some/repo.git /usr/local/some_folder

虽然这有效,但这意味着我必须将我的私人id_rsa与我的图像存储在一起,这对我来说是一个坏主意.我宁愿做的是将我的秘密文件保存在像s3这样的云存储中,只需将凭据作为环境变量传递,以便能够将其他所有内容都删除.

我知道我可以docker run-e交换机中传递环境变量,但是如果我在构建时需要一些文件(比如id_rsa来执行git克隆),我该怎么办?理想情况下,我能够传递环境变量docker build,但这是不可能的(我无法理解为什么).

那么,想法?在这里做什么是规范/正确的事情?我不能成为这个问题的第一人.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有