查看docker版本是否开启实验特性
Client:
Version: 20.10.16
API version: 1.41
Go version: go1.17.10
Git commit: aa7e414fdcb23a66e8fabbef0a560ef1769eace5
Built: Sun May 15 15:07:52 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
如果是flase,在 docker 配置文件/etc/docker/daemon.json中加入"experimental": true,如下:
{
"registry-mirrors": [""],
"experimental": true
}
重启docker 验证是否开启
安装 buildx 插件
创建插件目录
mkdir ~/.docker/cli-plugins
下载插件到上面的目录中,注意这一步需要选择自己对应平台的二进制包
wget -O ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.9.1/buildx-v0.9.1.darwin-amd64
授予执行权限
chmod +x ~/.docker/cli-plugins/docker-buildx
使用 dockerx 打包镜像
创建构建实例。通俗的讲,就是创建用于执行构建任务的节点
docker buildx create --use --name build-node-example --driver docker-container
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
打包命令
docker buildx build -t user/package:version --platform linux/amd64,linux/arm/v7 --push .