Docker构建镜像时报错failed to fetch metadata:···docker-buildx: exec format error解决方法

提示:详细解决方案电梯直达Release v0.17.0 · docker/buildx · GitHub,关于Github国内连接不稳定,可能一下子打不开,可以多刷几次试试,或者寻找其他方案。

问题描述

使用基于Windows wsl构建的Ubuntu虚拟机,应用Docker构建镜像时报错如下:

failed to fetch metadata: fork/exec /root/.docker/cli-plugins/docker-buildx: exec format error

ERROR: BuildKit is enabled but the buildx component is missing or broken.
       Install the buildx component to build images with BuildKit:
       https://docs.docker.com/go/buildx/

在这里插入图片描述
提示:我这里是Ubuntu系统环境变量中遇到的问题,以下解决方案只针对Linux系统,其他系统可参考文中给出的链接地址。


原因分析:

根据错误原因提示是:BuildKit已启用,但buildx组件丢失或损坏。个人推测是我使用wsl构建的Linux虚拟机,与原生Windows系统隔离不彻底,在删除了Windows桌面版Docker后导致文件错误,不知推测是否正确,如果有误欢迎指正,不过解决方案是官方方案,按照下述方法解决问题还是OK的。


解决方案:

这里选择的解决方案是人工下载替换,去Release v0.17.0 · docker/buildx · GitHub下载最新版docker-buildx,放入.docker/cli-plugins/目录下。具体可参考链接GitHub - docker/buildx: Docker CLI plugin for extended build capabilities with BuildKitGitee - buildx,人工下载处理文档如下图:
在这里插入图片描述

具体步骤:

  1. 下载最新版本的buildx文件,现在最新版本是v0.17.0。
    在这里插入图片描述
  2. 将下载的文件重命名,buildx-v0.17.0.linux-amd64重命名为docker-buildx注意:文件重命名为docker-buildx,不要带任何后缀名
    重命名前:在这里插入图片描述
    重命名后:在这里插入图片描述
  3. 最后一步将重命名后docker-buildx文件放到Linux虚拟机.docker/cli-plugins/目录下,这里通过MobaXterm将文件丢进去,然后就可以build镜像了。如果没有安装MobaXterm终端工具的话,关于其他传文件到虚拟机的方法自行搜索,不过推荐MobaXterm简单方便。
    在这里插入图片描述

参考链接:

Docker Build Overview
GitHub - docker/buildx: Docker CLI plugin for extended build capabilities with BuildKit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值