云计算核心技术Docker教程:使用BuildKit构建容器镜像
Docker Build是Docker引擎最常用的功能之一-开发人员,构建团队和发行团队的用户都使用Docker Build。
创新互联公司服务项目包括临潭网站建设、临潭网站制作、临潭网页制作以及临潭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,临潭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到临潭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!针对18.09版本的Docker Build增强功能引入了对构建体系结构急需的全面检查。通过集成BuildKit,用户应该看到性能,存储管理,功能功能和安全性方面的改进。
1.可以将使用BuildKit创建的Docker映像推送到Docker Hub,就像使用旧版构建的Docker映像一样
2.适用于旧版构建的Dockerfile格式也将与BuildKit构建一起使用
3.新的--secret命令行选项允许用户传递秘密信息,以使用指定的Dockerfile构建新映像
要求
当前版本的Docker(18.09或更高版本)
下载自定义前端的镜像所需的网络连接
局限性
仅支持构建Linux容器
启用BuildKit构建
全新安装docker的最简单方法是DOCKER_BUILDKIT=1 在调用docker build命令时设置环境变量,例如:
$ DOCKER_BUILDKIT=1 docker build .
要默认启用Docker BuildKit,请将/etc/docker/daemon.jsonfeature中的守护程序配置设置 为true并重新启动守护程序:
{ features: { buildkit: true } }
新的Docker Build命令行构建输出
新的Docker构建BuildKit TTY输出(默认):
新的Docker构建BuildKit普通输出:
重写默认前端
Dockerfile如果您覆盖默认前端,则可以使用中的新语法功能。要覆盖默认前端,请将的第一行设置 Dockerfile为
带有特定前端图像的注释:
# syntax =, e.g. # syntax = docker/dockerfile:1.0-experimental
新的Docker Build机密信息
--secret用于docker build的新标志允许用户以安全的方式传递将在Dockerfile中使用的秘密信息,以构建docker映像,而最终不会存储在最终映像中。
id是传递到中的标识符docker build --secret。该标识符与RUN --mount要在Dockerfile中使用的标识符相关联。
Docker不使用将秘密保存在Dockerfile外部的文件名,因为这可能是敏感信息。
dst将秘密文件重命名为DockerfileRUN命令中要使用的特定文件。
例如,将秘密信息存储在文本文件中:
$ echo \'WARMACHINEROX\' > mysecret.txt
使用指定使用BuildKit前端的Dockerfile docker/dockerfile:1.0-experimental,可以访问秘密。
例如:
# syntax = docker/dockerfile:1.0-experimental
FROM alpine
# shows secret from default secret location:
RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret
# shows secret from custom secret location:
RUN --mount=type=secret,id=mysecret,dst=/foobar cat /foobar
该Dockerfile只是为了证明可以访问该机密。如您所见,机密信息显示在构建输出中。构建的最终映像将没有秘密文件:
当前文章:云计算核心技术Docker教程:使用BuildKit构建容器镜像
标题路径:http://scjbc.cn/article/cjdpoi.html