Buildx

Buildx 是一个支持构建多平台镜像的工具

buildx 有一些限制,它不能直接在本地导出多架构的镜像(单架构可以), 另外它不共用系统docker配置的代理,经过尝试也很难配置代理,所以它在拉取镜 像的时候可以配置宿主机使用TUN代理模式,并选择好规则

创建构建器

sudo docker buildx ls 
sudo docker buildx rm mybuilder2 
sudo docker buildx create --use --name mybuilder2
sudo docker buildx inspect mybuilder2 --bootstrap  

生成镜像并推送

cd test/testbuildx

# 生成镜像并推送

# 1. 使用一个标签生成多个架构的镜像
# 因为没解决tls 问题,所以此方法暂时不可用
#sudo docker buildx build -t 192.168.1.2/test/hello --platform linux/arm64,linux/amd64 . --push

# 2. 使用多个标签生成多个架构的镜像
sudo docker buildx build -t 192.168.1.2/test/hello:arm64 --platform linux/arm64 . --load
sudo docker buildx build -t 192.168.1.2/test/hello:amd64 --platform linux/amd64 . --load
sudo docker push 192.168.1.2/test/hello:amd64
sudo docker push 192.168.1.2/test/hello:arm64