云上免费 Docker 镜像仓怎么起步:推送、拉取与公开浏览

简介: 用 AngusRepo 云服务托管私有镜像:login 后推送到 HOSTED,按需拉取;对外用公开浏览页匿名 pull。

docker push 报 denied,又不想先上 Harbor 或裸 registry:2、再折腾证书与 insecure-registries——可以先走 HTTPS 云仓:控制台建 Docker HOSTED,开发机 docker login 后按 主机/仓库名/镜像:标签 推送。合作方只要匿名拉取时,把交付仓标公开,在 /explore 复制安装命令。

结论: 云服务可托管 Docker/OCI;docker push 只进 HOSTED,PROXY/GROUP 只读;镜像名不要手写 /v2;公开分发用独立公开 HOSTED + 主机路径 /explore。权限 = 仓库 ACL + 令牌,没有开箱 tenant_id。Hub 限流与 FROM 改写见文末参考:Docker Hub 拉取限流怎么办。

从零私有化安装、配 insecure-registries 的完整教程见文末参考:私有 Docker 仓库怎么用。下文把云上 HTTPS 起步、第二台机器验收与 /explore 写满。

1. 云服务还是社区自建

路径 说明
云服务 托管 HTTPS;示例主机 https://repo.anguskit.com,一般不必配 insecure-registries。具体租户接入主机以控制台「接入配置」为准
社区版自建 GPL-3.0;适合内网与离线——机器、证书与网络自担

用量与限额以控制台当前租户显示为准;触顶后推送会被拒绝。删旧 tag:在控制台对应 HOSTED 的制品 / 标签列表中删除不再需要的标签(菜单文案以控制台为准)。大层镜像优先用小 base、少保留历史 tag。

2. 最小拓扑

仓库名示例 类型 干什么
docker-hosted HOSTED 唯一 push 目标
dockerhub-proxy PROXY 缓存 Docker Hub(远程 https://registry-1.docker.io;建议配 Hub 账号)
docker-group(可选) GROUP 统一拉取入口,聚合 hosted + proxy

从 Harbor 整仓迁移、保 digest 双跑,见文末参考:Harbor 迁移清单。多 Runner 撞 Hub 限额、改 FROM,见文末参考:Docker Hub 拉取限流怎么办——本文不展开 Hub 凭据细节。

docker push  ──► docker-hosted (HOSTED,唯一写入)
docker pull  ──► HOSTED 或 docker-group ──► hosted + dockerhub-proxy
合作方匿名   ──► /explore ──► public-docker(另建公开 HOSTED)
云仓 HTTPS   ──► 一般不必配 insecure-registries

3. 可操作步骤

3.1 建仓与令牌

  1. 控制台创建 Docker HOSTED(及可选 PROXY/GROUP)。
  2. 签发 Deploy Token(repod_)或用户访问令牌(PAT):push 账号对 HOSTED 有 Write;pull 账号对入口仓有 Read。
  3. 密码位填令牌;用户名填控制台用户名(以接入配置为准)。

3.2 登录用户名陷阱(Docker ≠ PyPI)

写法 结果
用户名 = 控制台账号,密码 = 令牌 正确
用户名填 __token__,密码填令牌 错误——那是 PyPI / 部分包格式手册里的哨兵,不要套到 docker login
用户名填令牌、密码留空 失败;两端含义反了
用户名填邮箱别名但控制台账号不是该邮箱 以接入配置显示的用户名为准

3.3 登录、标记、推送

export REPO_HOST="repo.anguskit.com"
export REPO_USER="你的控制台用户名"
export REPO_TOKEN="你的令牌"

echo "$REPO_TOKEN" | docker login "$REPO_HOST" \
  --username "$REPO_USER" \
  --password-stdin

docker tag myapp:1.0.0 \
  "${REPO_HOST}/docker-hosted/myapp:1.0.0"

docker push "${REPO_HOST}/docker-hosted/myapp:1.0.0"

镜像坐标是 主机/仓库名/镜像:标签。协议 API 里的 /v2 不要写进镜像名。用 --password-stdin,避免令牌进 shell 历史。

3.4 验收清单(本机 + 第二台 / 干净 CI)

在推送机器上:

# 直接从 HOSTED 拉回
docker pull "${REPO_HOST}/docker-hosted/myapp:1.0.0"

# 记下 digest,便于跨机核对
docker image inspect "${REPO_HOST}/docker-hosted/myapp:1.0.0" \
  --format '{
   {index .RepoDigests 0}}'

在第二台机器或干净 CI job(未残留本地 tag)上:

# 只 pull,不依赖本机刚 build 的层缓存误判
echo "$REPO_TOKEN" | docker login "$REPO_HOST" \
  --username "$REPO_USER" --password-stdin

docker pull "${REPO_HOST}/docker-hosted/myapp:1.0.0"

docker image inspect "${REPO_HOST}/docker-hosted/myapp:1.0.0" \
  --format '{
   {index .RepoDigests 0}}'

两台机器 digest 一致,才算托管验收通过。若配置了 GROUP,只读拉取可改用 GROUP 名作入口(仍不能 push 进 GROUP):

# docker pull "${REPO_HOST}/docker-group/myapp:1.0.0"

经 PROXY/GROUP 拉 Hub 官方镜像时加上 library/(如 …/library/nginx:1.27)。细节见文末参考:Docker 格式手册。

4. /explore 公开发现(可操作)

AngusRepo 公开制品与仓库
合作方不愿收令牌时:

  1. 单独建 public-docker HOSTED,勾选公开(isPublic)。不要公开日常 docker-hosted,也不要公开聚合了私有仓的 GROUP。
  2. 用 Write 令牌只往 public-docker 推正式标签(避免 dev-tmp、日期乱 tag 进公开列表)。
  3. 无痕窗口打开 https://repo.anguskit.com/explore(或 /explore/artifacts 搜镜像名)。
  4. 打开制品详情,复制页面生成的免认证 docker pull 命令。
  5. 在未 docker login 团队私有仓的干净环境执行该命令;应能拉下且无需令牌。

勾选公开后索引可能有数十秒~数分钟延迟。门户顶栏「文档」仍禁用时,外链应指向 AngusKit 文档站,勿承诺门户内文档。完整门户规则见文末参考:私有仓制品怎么公开下载。

5. 边界与翻车表

现象 常见原因 处理
denied 未 login、无 Write、推到了 GROUP 确认 HOSTED 名与令牌权限
名称含 /v2 把协议路径写进镜像名 去掉 /v2,对照接入配置
存储满 / push 被拒 用量触顶(以控制台当前租户为准) 删旧 tag;或改社区自建
合作方仍 401 仓未公开或链错私有仓 用 /explore 生成的命令
Hub 官方镜像拉取失败 PROXY 未配或未加 library/ 查 PROXY;限流场景见限流文
unauthorized 密码位不是令牌,或用户名错 见 §3.2;用户名 ≠ __token__
第二台 digest 对不上 推错 tag / 拉到旧缓存 显式拉 :标签 或按 digest pull

同一套仓库还可管 Maven/npm 等格式;多格式同址的选型讨论见文末参考:选型文。

FAQ

云上还要配 insecure-registries 吗?

repo.anguskit.com 走 HTTPS 时通常不需要。HTTP 私有化才需要,见文末参考:私有 Docker 仓库怎么用。

能替代 Docker Hub 吗?

对你们自己的业务镜像与经 PROXY 缓存的公共镜像,可以替代「每台机器直连 Hub」。Hub 账号体系、官方星标页等不在替代范围内——详见文末参考:Docker Hub 拉取限流怎么办。

门禁默认开吗?

默认关。Repo 执法、Security 做深度引擎;上传成功不等于已扫过。

云服务镜像能跑生产吗?

能推能拉在技术上没问题。是否够用看控制台当前租户的用量与限额;不够可改社区自建(证书 / 网络自担)。

小结

  • 云服务可跑通私有镜像主路径(HOSTED / PROXY / GROUP)。
  • push → HOSTED;pull → HOSTED 或 GROUP;用第二台机器 digests 验收。
  • 对外:public-docker + /explore;镜像名勿带 /v2;login 用户名不是 __token__。

参考文章

相关文章
|
1天前
|
弹性计算 负载均衡 安全
阿里云国际站服务代理商:SLB批量采购怎么做预算?按地域还是业务系统拆分
阿里云国际站SLB批量采购预算需兼顾地域(定价/部署)与业务系统(成本归属)双维度,避免重复计费;ALB/NLB/CLB计费模型不同,不可混用单价;应按实际资源清单(产品类型、网络类型、环境、周期)精细化报价与对账。
45 27
|
18小时前
|
人工智能 安全 IDE
用一套扫描替换 Semgrep、Trivy 和 Gitleaks 脚本
合并请求绿了,发版却被密钥或依赖漏洞拦下——多半是流水线里 Semgrep、Trivy、Gitleaks 各跑各的:三份日志、三种退出码、没有统一 Finding,误报也没法按同一指纹抑制。
|
18小时前
|
存储 缓存 资源调度
云上免费 npm 私有源怎么起步:从发包到公开分发
不想自建服务器时,用 AngusRepo 云服务托管私有 npm:统一源安装、HOSTED 发布,对外用公开浏览页复制匿名安装命令。
|
1天前
|
弹性计算 Linux 网络安全
阿里云服务器怎么买?零经验用户从选购到配置的完整实操教程‌
阿里云ECS云服务器是你踏入云计算世界的第一步。从这里开始,你可以搭建网站、部署应用、学习运维、探索更多可能。希望这篇教程能帮助每一位新手小白顺利拥有属于自己的第一台阿里云ECS云服务器,开启你的云端之旅!
40 4
|
1天前
|
弹性计算 人工智能 运维
阿里云优惠活动说明:新客户云产品,阿里云产品多少钱?
新客户参与 阿里云轻量应用服务器、阿里云ECS云服务器、阿里云GPU云服务器、阿里云大模型服务平台 专场活动,可以用很低的价格入手云服务器,入门轻量套餐低至38元每年,ECS经济型实例99元每年。但新人优惠仅限首购,到期续费不再享受低价,选购时不能只看首年价格,需要综合评估长期业务成本。
47 2
|
17小时前
|
人工智能 JSON 安全
Replit 将 OpenAI 设为 Agent 首选,Claude 仍可选
Replit将OpenAI设为Agent默认模型,但Claude仍可选;此举基于任务表现、成本与合作综合评估。开发者应以真实任务集、成功率、单任务成本及稳定性三指标科学评测模型,而非简单切换。(239字)
|
1天前
|
弹性计算 监控 Serverless
函数计算 FC:不买服务器也能跑定时脚本和接口
本文讲述作者将四台“电子宠物”式低负载ECS(每天仅运行30秒)迁移至函数计算的实战经验。详解Serverless适用场景(定时任务、HTTP接口、事件驱动)、关键避坑点(冷启动、依赖打包、日志与临时存储)、成本对比及迁移 checklist,强调:**“等事件”的轻量任务,就该交给函数计算。**
|
1天前
|
人工智能 缓存 测试技术
03 · 新体系失败后,一个老项目维护需求让 AI 真正落了地
本文是《嵌入式AI落地手记》第三篇,讲述AI如何从“失败的新体系”转向“真实老项目维护”落地:聚焦小场景、真实需求、高频变更,一周构建700行五步技能库,设两道人工决策闸(假设清单+修改方案),以回放验证、字节级审计和半页反馈机制保障可靠性。实践证明——小切口、强确认、重反馈,才是AI扎根工程的关键路径。
|
14小时前
|
弹性计算 编解码 人工智能
阿里云服务器架构指南:X86计算、Arm计算、GPU、弹性裸金属服务器、高性能计算深度解析
阿里云ECS提供X86、Arm、GPU、弹性裸金属及高性能计算五大架构,适配企业应用、AI训练、HPC、容器微服务等多元场景,兼顾性能、成本与弹性。阿里云服务器ECS官网:https://t.aliyun.com/U/AZBUsA
|
16小时前
|
存储 人工智能 弹性计算
阿里云38元服务器200M峰值带宽:购买入口、限制条件、使用场景及注意事项
阿里云新人专享:38元/年轻量应用服务器(2核2G/40G SSD/200M带宽/不限流量),预装宝塔面板,适合个人网站、小程序后端、AI Agent及轻量电商站部署。限量秒杀,仅限新用户。
32 2