怎么发布镜像到dockerhub与阿里云容器里

镜像发布全流程(DockerHub + 阿里云容器镜像服务)

发布镜像的核心逻辑是:登录镜像仓库 → 给镜像打符合仓库规则的标签 → 推送镜像。


一、发布到 DockerHub(官方公共仓库)

前置准备

  1. 注册 DockerHub 账号:https://hub.docker.com/(记住用户名、密码);
  2. 确保本地已构建好要发布的镜像(如 mycentos:1.0)。

步骤 1:登录 DockerHub(终端执行)

复制代码
docker login
  • 输入 DockerHub 用户名 + 密码(密码输入时无回显,直接回车即可);
  • 输出 Login Succeeded 表示登录成功。

步骤 2:给镜像打标签(必须符合 DockerHub 规则)

格式:docker tag 本地镜像名:版本 DockerHub用户名/仓库名:版本

复制代码
# 示例:把本地 mycentos:1.0 打标签为 gaoyu/mycentos:1.0(gaoyu 是你的 DockerHub 用户名)
docker tag mycentos:1.0 gaoyu/mycentos:1.0

✅ 验证标签:执行 docker images 能看到 gaoyu/mycentos:1.0 镜像。

步骤 3:推送镜像到 DockerHub

复制代码
docker push gaoyu/mycentos:1.0
  • 推送过程会显示每层镜像的上传进度;
  • 输出 latest: digest: xxxxxxxx size: xxx 表示推送成功。

步骤 4:验证(可选)

登录 DockerHub 网页,在「Repositories」中能看到 mycentos 仓库,即发布成功。

补充:退出登录(可选)

复制代码
docker logout

二、发布到阿里云容器镜像服务(国内仓库,速度更快)

前置准备

  1. 登录阿里云容器镜像服务:https://cr.console.aliyun.com/;
  2. 完成「命名空间创建」(必填):
    • 左侧菜单 → 命名空间 → 创建命名空间(如 gaoyu-test,注意:命名空间是唯一的,不能重复);
  3. 获取阿里云镜像仓库地址和登录信息:
    • 左侧菜单 → 镜像仓库 → 创建仓库(如 mycentos),创建后可看到「公网地址」(如 registry.cn-hangzhou.aliyuncs.com/gaoyu-test/mycentos)。

步骤 1:登录阿里云镜像仓库(终端执行)

复制代码
# 格式:docker login 阿里云镜像仓库域名
docker login registry.cn-hangzhou.aliyuncs.com
  • 用户名:阿里云账号的「AccessKey ID」(不是登录名,需在阿里云「AccessKey 管理」中创建);
  • 密码:阿里云账号的「AccessKey Secret」;
  • 输出 Login Succeeded 表示登录成功。

步骤 2:给镜像打阿里云标签(核心!格式必须匹配)

格式:docker tag 本地镜像名:版本 阿里云仓库地址:版本

复制代码
# 示例:本地 mycentos:1.0 → 阿里云仓库 registry.cn-hangzhou.aliyuncs.com/gaoyu-test/mycentos:1.0
docker tag mycentos:1.0 registry.cn-hangzhou.aliyuncs.com/gaoyu-test/mycentos:1.0

步骤 3:推送镜像到阿里云

复制代码
docker push registry.cn-hangzhou.aliyuncs.com/gaoyu-test/mycentos:1.0
  • 国内网络推送速度远快于 DockerHub;
  • 输出 digest: xxxxxxxx 表示推送成功。

步骤 4:验证(可选)

登录阿里云容器镜像服务网页,在「镜像仓库」→ 对应仓库中能看到 1.0 版本的镜像,即发布成功。


三、关键注意事项(避坑指南)

  1. 标签格式错误 :
    • DockerHub 标签必须是「用户名 / 仓库名:版本」,否则推送失败;
    • 阿里云标签必须包含「地域域名 / 命名空间 / 仓库名:版本」,地域域名(如 registry.cn-hangzhou.aliyuncs.com)需和仓库创建时的地域一致。
  2. 登录失败 :
    • DockerHub 登录失败:检查用户名密码,或网络是否能访问外网;
    • 阿里云登录失败:必须用「AccessKey ID/Secret」,不能用阿里云登录密码!
  3. 镜像体积过大 :推送前建议清理镜像缓存(如 yum clean all),减小体积,加快推送速度。
  4. 私有 / 公共仓库 :
    • DockerHub 默认是公共仓库,所有人可见;
    • 阿里云可选择「私有仓库」(仅自己可见),需在创建仓库时设置。

四、拉取已发布的镜像(验证)

1. 拉取 DockerHub 镜像

复制代码
docker pull gaoyu/mycentos:1.0

2. 拉取阿里云镜像

复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/gaoyu-test/mycentos:1.0

总结

  1. 发布核心步骤:登录仓库 → 打合规标签 → 推送镜像,DockerHub 和阿里云逻辑一致,仅标签格式 / 登录信息不同;
  2. DockerHub 需用「用户名」打标签,阿里云需用「地域域名 + 命名空间」打标签;
  3. 阿里云登录必须用 AccessKey,而非阿里云账号密码,这是最容易踩坑的点。
相关推荐
蜡笔婧萱5 小时前
Docker介绍及其基础简介(一)
云原生·eureka
AliCloudROS6 小时前
计算巢 X DeepSeek Harness — 云端智能体工作台
人工智能·阿里云
阿乔外贸日记15 小时前
全球电子产业高度集中:中、韩、日和中国台湾地区占全球数字硬件产能八成
大数据·服务器·人工智能·物联网·云计算
mengge.cloud18 小时前
Redis
运维·服务器·数据库·redis·缓存·云计算
酒神dnspup21 小时前
多地区网站可用性监控怎么做?DNSPup 从基线到告警的完整实战
运维·ios·云计算·iphone·dns·网络监控
闲云野鹤在人间1 天前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
钟祥哎眼2 天前
镜片膜层都是什么:加硬、减反射、疏水一次说清?/钟祥极博视科普
阿里云
honsor2 天前
以太网温湿度传感器:RJ45直连机房的环境监控新方案
运维·网络·数据库·物联网·安全·云计算·github
yuezhilangniao2 天前
阿里云 CentOS 7 升级 Redis 到 7.2 实录-centos7安装redis7
redis·阿里云·centos