docker buildx: #0 1.147 .buildkit_qemu_emulator: /bin/sh: Invalid ELF image for this architecture

当前环境:linux/amd64

创建builder使用以下命令

$ docker buildx create --name multi-arch-builder --driver docker-container --use

使用该builder构建镜像时报错如标题

$ docker buildx build --platform linux/arm64 --build-arg harbor_base_namespace=goharbor --build-arg trivy_version=v0.46.1 --build-arg harbor_base_image_version=dev  -t myusername/hello . -f ./make/photon/trivy-adapter/Dockerfile --load

查看支持的架构,不支持linux/arm64

$ docker buildx inspect --bootstrap

Name:          multi-arch-builder
Driver:        docker-container
Last Activity: 2024-02-20 05:48:55 +0000 UTC

Nodes:
Name:      multi-arch-builder0
Endpoint:  unix:///var/run/docker.sock
Status:    running
Buildkit:  v0.12.5
Platforms: linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386

解决方式如下

docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx rm multi-arch-builder
docker buildx create --name multi-arch-builder --driver docker-container --use
docker buildx inspect --bootstrap

再次查看

$ docker buildx inspect --bootstrap

Name:          multi-arch-builder
Driver:        docker-container
Last Activity: 2024-02-20 05:58:49 +0000 UTC

Nodes:
Name:      multi-arch-builder0
Endpoint:  unix:///var/run/docker.sock
Status:    running
Buildkit:  v0.12.5
Platforms: linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值