本文介绍: 如果你有私有的镜像加速器,可以基于 https://github.com/docker-practice/buildx 构建自己的 buildkit 镜像并使用它。在之前的版本中构建多种系统架构支持的 Docker 镜像,要想使用统一的名字必须使用 $ docker manifest。这个文件夹,这样我们就省去了每次获取依赖的时间,大大增加了镜像构建效率,同时也避免了生成了大量的中间层镜像。等等,当我们构建一个镜像时,往往会重复的从互联网中获取依赖包,难以缓存,大大降低了镜像的构建效率。
Docker Buildx
Docker Buildx 是一个 docker CLI 插件,其扩展了 docker 命令,支持 [Moby BuildKit]
提供的功能。提供了与 docker build 相同的用户体验,并增加了许多新功能。
一、使用 BuildKit
构建镜像
BuildKit 是下一代的镜像构建组件,在 https://github.com/moby/buildkit 开源。
注意:如果您的镜像构建使用的是云服务商提供的镜像构建服务(腾讯云容器服务、阿里云容器服务等),由于上述服务提供商的 Docker 版本低于 18.09,BuildKit 无法使用,将造成镜像构建失败。建议使用 BuildKit 构建镜像时使用一个新的 Dockerfile 文件(例如 Dockerfile.buildkit)
目前,Docker Hub 自动构建已经支持 buildkit,具体请参考 https://github.com/docker-practice/docker-hub-buildx
Dockerfile
新增指令详解
启用 BuildKit
之后,我们可以使用下面几个新的 Dockerfile
指令来加快镜像构建。
RUN --mount=type=cache
RUN --mount=type=bind
RUN --mount=type=tmpfs
RUN --mount=type=secret
RUN --mount=type=ssh
docker-compose build 使用 Buildkit
官方文档
二、使用 Buildx 构建镜像
使用
官方文档
三、使用 buildx 构建多种系统架构支持的 Docker 镜像
新建 builder
实例
构建镜像
架构相关变量
使用举例
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。