快速的方法. 新版本的Docker.只需要改把Docker配置改成:
一.新版本(Containerd)
Docker 配置
- 打开设置
- 打开
Features in development
- 选择
Beta featuresExperimental features
- 勾选
Use Containerd ....
- 保存
PS: 这个方法会把所有镜像和运行的容器清空…..(如果有很多资料,慎用).
1
| docker build --platform linux/arm64 -t dji-cloud-api-impl .
|
二. 使用 buildx
1. 使用multiarch/qemu-user-static创建多架构环境
1
| docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
2. 创建自定义Builder
1 2 3 4 5 6 7 8 9
| # 创建 builder 并使用 docker buildx create --name mybuilder --driver docker-container --use
# 创建指定架构builder
docker buildx create --name mybuilder --driver docker-container --platform linux/amd64,linux/arm64 --use
# 使用已存在的 builder docker buildx use mybuilder
|
3. 初始自定义buildx
1
| docker buildx inspect --bootstrap
|
4. List buildx
5. 构建并推送远程(–push)
1 2 3 4
| docker login --username=... xxdocker.com
docker buildx build --platform linux/amd64,linux/arm64 -t registry.cn-hangzhou.aliyuncs.com/coolxiaoyao/dji-cloud-api-impl . --push
|
6. 本地构建(–load)
构建时不推送远程,只加载到本地, 镜像名可以不写远程地址.
PS说明:
--platform: 一次只能使用一个架构, 不能同时编译多个架构镜像.
1
| docker buildx build --platform linux/arm64 -t dji-cloud-api-impl . --load
|
7. 删除 Builder
1
| docker buildx rm mybuilder
|