使用docker buildx build构建多平台镜像
1. 先创建并使用 buildx 构建器(首次使用需执行)
docker buildx create --use --name navysummer
2. 构建多平台镜像并推送到仓库(需先登录仓库)
docker buildx build \ --platform linux/amd64,linux/arm64 \ # 指定目标平台 -t navysummer/navysummer:latest \ # 镜像标签(需包含仓库地址) --push . # 推送到镜像仓库(本地不保存)
3. 构建并加载到本地 Docker
多平台镜像无法直接加载到本地 Docker(本地仅支持单一架构),但可指定单一平台加载
docker buildx build \ --platform linux/amd64 \ -t my-image:latest \ --load . # 加载到本地 Docker 守护进程(替代 --push)
4. 构建缓存优化
# 使用远程镜像作为缓存源,加速构建 docker buildx build \ --cache-from=type=registry,ref=navysummer/navysummer:cache \ # 从仓库拉取缓存 --cache-to=type=registry,ref=username/navysummer:cache,mode=max \ # 推送缓存到仓库 -t navysummer/navysummer:latest \ --push .
5. 关键参数说明
| 参数 | 作用 |
|---|---|
-t/--tag |
为镜像打标签(格式:仓库/镜像名:版本) |
--platform |
指定构建的目标平台(如 linux/amd64、linux/arm64/v8) |
--push |
构建完成后推送到镜像仓库(需先 docker login) |
--load |
构建完成后加载到本地 Docker 守护进程(仅支持单一平台) |
-f/--file |
指定 Dockerfile 的路径(默认 ./Dockerfile) |
--cache-from |
从指定源复用构建缓存(减少重复构建) |
--cache-to |
将构建缓存推送到指定目标(方便后续复用) |
--no-cache |
禁用构建缓存,强制重新构建所有层 |

浙公网安备 33010602011771号