登录阿里云私有镜像仓库需确保域名、用户名、密码三者精准匹配:个人版域名格式为registry..aliyuncs.com,用户名为阿里云账号id,密码须在控制台访问凭证页设置固定密码;企业版域名含实例名前缀且格式不同,二者不可混用;docker tag与push目标地址必须与登录域名完全一致,否则触发401/403错误。
直接用 docker login 命令,配合正确的仓库地址、用户名和密码即可完成登录。关键不是命令本身,而是三者必须严格匹配——域名、账号 id、固定密码,缺一不可。
确认你的仓库地址和实例类型
阿里云 ACR 分个人版和企业版,域名格式不同,不能混用:
-
个人版:格式为
registry.<region>.aliyuncs.com</region>,例如registry.cn-hangzhou.aliyuncs.com -
企业版:格式为
-registry.<region>.cr.aliyuncs.com</region>,例如myacr-registry.cn-hangzhou.cr.aliyuncs.com
务必在阿里云控制台的「访问凭证」或「实例详情」页复制准确的域名,多一个字符、少一个点都会导致 401 错误。
准备正确的登录凭证
用户名和密码不是你的阿里云网页登录账号密码:
-
用户名:个人版填你的阿里云账号 ID(一串纯数字,如
1234567890123456);RAM 子用户则去掉@xxx.onaliyun.com后缀,只留前缀部分 - 密码:必须在控制台「访问凭证」页手动设置固定密码,个人版不支持临时 Token,未设置就无法登录
执行登录命令
推荐使用 --password-stdin 方式,避免密码被 shell 解析或泄露:
echo "your_fixed_password" | docker login -u "1234567890123456" --password-stdin registry.cn-hangzhou.aliyuncs.com
成功后会显示 Login Succeeded。可检查本地配置是否写入:cat ~/.docker/config.json,确认对应域名下有 auth 字段且无拼写错误。
验证登录是否真正生效
最直接的方式是拉取一个你已推送过的私有镜像:
- 先确保镜像 tag 地址与登录域名完全一致,例如:
docker tag myapp:v1 registry.cn-hangzhou.aliyuncs.com/my-ns/myapp:v1 - 再执行:
docker pull registry.cn-hangzhou.aliyuncs.com/my-ns/myapp:v1
能成功拉下,说明登录状态可用;若报 403 或 unauthorized,大概率是域名、命名空间或权限配置不匹配。











