使用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/amd64linux/arm64/v8
--push 构建完成后推送到镜像仓库(需先 docker login
--load 构建完成后加载到本地 Docker 守护进程(仅支持单一平台)
-f/--file 指定 Dockerfile 的路径(默认 ./Dockerfile
--cache-from 从指定源复用构建缓存(减少重复构建)
--cache-to 将构建缓存推送到指定目标(方便后续复用)
--no-cache 禁用构建缓存,强制重新构建所有层
posted @ 2026-03-20 14:26  NAVYSUMMER  阅读(4)  评论(0)    收藏  举报
交流群 编程书籍