使用docker build命令构建镜像时遇到警告信息 The legacy builder is deprecated and will be removed in a future release

1. 问题呈现

在使用 Dockerfile 和 docker build 指令构建自定义镜像时遇到 Docker 给出的警告信息(对 Dockfile 不了解的同学,可以参考我的另一篇博文:Dockerfile详解(Dockerfile的基本结构、使用Dockerfile自定义镜像示例、主流编程语言和中间件的基础Docker镜像、编写Dockerfile的最佳实践)


DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/

在这里插入图片描述

2. 问题产生的原因

这个警告信息表明 Docker 正在使用传统的构建器(legacy builder),而传统的构建起将在未来的版本中被弃用

Docker 推荐使用 BuildKit,这是一个更现代、更高效的构建系统,用于构建 Docker 镜像

3. 解决方法

虽然说这个警告信息不影响我们正常构建镜像,但是秉承着有问题就解决的原则,我们尝试解决这个问题

3.1 方法一:启用Docker buildx插件

确保 Docker 版本支持 buildx(Docker 19.03 或更高版本支持 buildx)

buildx 通常作为 Docker CLI 的一个插件随 Docker 一起提供

如果使用的是 Docker 20.10 或更高版本,buildx 已经包含在 Docker CLI 中,可能需要手动启用


修改 /etc/docker/daemon.json 文件

sudo vim daemon.json

向文件中添加以下内容

"experimental": true

在这里插入图片描述

保存文件后重启 Docker 服务

sudo systemctl restart docker

最后查看 buildx 插件是否已正确安装

sudo docker buildx version

在这里插入图片描述


安装完 BuildKit 后,可以使用 buildx 插件构建 Docker 镜像,也可以使用传统的 docker build 命令,Docker 将不会再给出警告信息

sudo docker buildx build --tag ubuntu-python:1.0.0 ./
sudo docker build --tag ubuntu-python:1.0.0 ./

3.2 方法二:手动安装buildx插件

如果按照方法一操作之后使用 docker build 指令构建镜像时还是遇到 DEPRECATED: The legacy builder is deprecated and will be removed in a future release. 警告信息,而使用 docker buildx build 指令构建镜像时遇到以下报错信息


docker: ‘buildx’ is not a docker command.
See ‘docker --help’

在这里插入图片描述

我们就需要手动安装 buildx 插件了

mkdir -p ~/.docker/cli-plugins/
# 下载 buildx 二进制文件
wget -O docker-buildx https://github.com/docker/buildx/releases/download/v0.20.1/buildx-v0.20.1.linux-amd64

# 赋予执行权限
chmod +x docker-buildx

# 移动到 ~/.docker/cli-plugins/ 路径下
sudo mv docker-buildx ~/.docker/cli-plugins/

运行以下指令查看 buildx 插件是否安装成功

sudo docker buildx version

在这里插入图片描述


下载 buildx 二进制文件是通过 GitHub 下载的,如果下载失败或者下载速度很慢,可以加速访问 GitHub,将文件下载到本地后再上传到 Linux 服务器上

加速访问 GitHub 可以参考我的另一篇博文:GitHub的使用技巧(加速访问GitHub、查看GitHub的热门项目、查看GitHub推荐的项目、Fork、Issue、快速找到项目的安装包、GitHub的各种快捷键)

docker-buildx 的下载地址:https://github.com/docker/buildx/releases/tag/v0.20.1

在这里插入图片描述

4. 使用BuildKit构建镜像

安装完 BuildKit 后,可以使用 buildx 插件构建 Docker 镜像,也可以使用传统的 docker build 命令,Docker 将不会再给出警告信息

sudo docker buildx build --tag ubuntu-python:1.0.0 ./
sudo docker build --tag ubuntu-python:1.0.0 ./
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聂 可 以

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值