docker上传镜像到阿里云私服arm->amd

推送脚本(或者修改docker-compose.yaml中镜像名称后直接docker compose build即可得到镜像然后直接推送即可)

#!/bin/bash
#构建镜像指定私服标签
docker build -t cn-hangzhou.personal.cr.aliyuncs.com/grant/admin:latest

# 登录私服(需输入用户名和密码)手动登陆一次即可
#docker login --username=temp-user cn-hangzhou.personal.cr.aliyuncs.com
# echo "password" | docker login --username=temp_user --password-stdin cn-hangzhou.personal.cr.aliyuncs.com

# 推送镜像到私服 (私服地址/命名空间/镜像/版本号)
docker push cn-hangzhou.personal.cr.aliyuncs.com/grant/admin:latest

# 验证推送结果(可选)
echo "推送完成,可登录私服查看:cn-hangzhou.personal.cr.aliyuncs.com/grant/admin:latest

arm->amd(buildx)方式一

如果使用的是mac电脑或者虚拟机是arm系统,需要借助 buildx

安装配置buildx-arm

docker pull moby/buildkit:buildx-stable-1
//如果是下载的包则执行
docker load -i moby_buildkit_buildx-stable-1-arm64.tar.gz 

启用 buildx 多架构构建环境

# 1. 创建并切换到 buildx 构建器(利用本地的 buildkit 镜像)自动管理并启动moby镜像
docker buildx create --use --name multi-arch-builder

# 2. 初始化构建器(验证是否支持 x86_64 架构)
docker buildx inspect --bootstrap

arm->amd(buildx)方式二

使用docker内置的buildkit

docker buildx ls
# 切换到默认的 docker 驱动构建器
docker buildx use default
# 验证构建器状态(确保可用)
docker buildx inspect --bootstrap

//输出中若显示 Status: running 且 Platforms 包含 linux/amd64,则表示可以正常使用:

使用该构建器构建 AMD 架构镜像(构建时候依据当前目录下的Dockerfile文件)

docker buildx build  --platform=linux/amd64   -t registry.cn-hangzhou.com/grant/admin:latest-amd64  --push .

 

posted @ 2025-08-29 14:33  白玉神驹  阅读(17)  评论(0)    收藏  举报