mcpField
D
docker-hub

docker-hub

github.com/full-stack-skills云与 DevOps3104 次安装4 周前更新
代码仓库

关于 docker-hub

docker-hub 是一项管理 Docker 镜像仓库的指导型技能,面向发布、拉取和维护镜像的开发者。内容涵盖公共与私有仓库操作、标签策略、摘要固定及常见认证问题;不提供镜像构建。

主要功能

  1. 01仓库登录与镜像推送、拉取
  2. 02管理镜像标签与版本策略
  3. 03使用摘要固定镜像版本
  4. 04搭建 Docker Registry 或 Harbor
  5. 05排查认证与推送问题

适用场景

  1. 01向公共仓库发布应用镜像
  2. 02配置私有 Registry 或 Harbor
  3. 03为生产镜像选择固定标签或摘要
  4. 04处理 CI 中的仓库认证

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/full-stack-skills/docker-skills --skill docker-hub

安装后在 Claude Code 中输入/docker-hub确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
examples/
01-push-image.md
02-private-registry.md
references/
01-tag-strategy.md
02-harbor-setup.md

详细介绍

Docker Hub — 镜像仓库管理

发布、拉取和管理 Docker 镜像的指南。

适用场景

用户提及以下内容时,务必使用此技能:

  • “docker hub”、“docker registry”、“镜像仓库”
  • “docker push”、“docker pull”、“docker tag”
  • “私有仓库”、“private registry”、“Harbor”
  • “镜像加速”、“registry mirror”
  • “docker login”、“身份验证”

核心工作流

# Login
docker login
docker login registry.example.com   # Private registry

# Tag
docker tag myapp:latest myuser/myapp:v1.0.0
docker tag myapp:latest myuser/myapp:latest

# Push
docker push myuser/myapp:v1.0.0
docker push myuser/myapp:latest

# Pull
docker pull myuser/myapp:v1.0.0
docker pull myuser/myapp:latest

标签策略

标签用途保留期限
v1.2.3精确版本(semver)永久
v1.2最新小版本直到下一个小版本
v1最新大版本直到下一个大版本
latest最新构建(仅限开发环境!)滚动更新
sha256-abc123固定摘要按需
Production: NEVER use :latest. Always pin exact version or digest.
Development: :latest is OK for convenience.

私有仓库

Docker Registry(官方)
docker run -d -p 5000:5000 --name registry \
  -v registry:/var/lib/registry \
  registry:2
docker tag myapp localhost:5000/myapp:v1
docker push localhost:5000/myapp:v1
Harbor(企业版)
# Download and run
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz
tar xzf harbor-offline-installer-v2.10.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
# Edit harbor.yml (hostname, passwords)
./install.sh

镜像摘要(不可变引用)

# Get digest
docker inspect --format='{{.RepoDigests}}' myimage:tag

# Pull by digest (immutable)
docker pull alpine@sha256:abc123...

工作流 — 推荐操作流程

步骤 1:登录仓库:docker login 或 docker login ghcr.io 步骤 2:打标签:docker tag myapp:v1 ghcr.io/org/myapp:v1 步骤 3:推送镜像:docker push ghcr.io/org/myapp:v1 步骤 4:验证:拉取 docker pull ghcr.io/org/myapp:v1 进行确认 步骤 5:固定版本:生产环境使用 docker pull myapp@sha256:abc...

注意事项 — 常见问题

  • 生产环境使用 :latest:标签可变,latest 可能会随时间指向不同的镜像。→ 解决方法:始终固定版本或摘要:docker pull myapp:v1.2.3@sha256:abc...。
  • 混用公共与私有仓库:docker login 按仓库分别登录。→ 解决方法:分别执行 docker login registry.example.com;使用凭据助手,例如 AWS ECR 的 docker-credential-ecr-login。
  • 大型镜像推送超时:推送大型镜像时,在守护进程配置中设置 max-concurrent-uploads。→ 解决方法:编辑 /etc/docker/daemon.json:对于慢速连接,设置为 {"max-concurrent-uploads": 1}。
  • CI 中的仓库身份验证:使用 docker/login-action(GitHub Actions)或密钥管理器。→ 解决方法:切勿提交凭据;对于云仓库,使用 OIDC,而非长期令牌。

边界 — 能力范围(适用与不适用场景)

分类场景说明
✅ 能做使用公共仓库(Docker Hub/GHCR)登录、推送/拉取、标签管理
✅ 能做搭建私有仓库Docker Registry + Harbor 企业方案
✅ 能做制定标签策略对比并选择 semver/sha256/digest
⚠️ 需条件镜像加速(registry-mirrors)需配置 daemon.json + 可用的 mirror 服务
⚠️ 需条件Harbor 高可用部署需额外配置 Redis Cluster + PG 主从
❌ 超范围镜像构建使用 docker-build
❌ 超范围CVE 扫描使用 docker-scout
❌ 超范围CI/CD 镜像管理使用 docker-cicd

不适用场景

❌ 跳过✅ 改用
构建镜像docker-build
漏洞扫描docker-scout
CI/CD 流水线docker-cicd
Docker 基础知识docker-basics

安全与稳定性

  • 切勿提交仓库凭据。请使用 CI 密钥管理器。
  • 使用内容信任:为已签名镜像设置 export DOCKER_CONTENT_TRUST=1。
  • Harbor 提供漏洞扫描、复制和 RBAC。
  • 不附带可执行脚本,仅提供指南。

📚 官方文档参考

文档地址
Docker Hubhttps://docs.docker.com/docker-hub/
Docker Hub APIhttps://docs.docker.com/reference/api/hub/latest/
Docker Registryhttps://docs.docker.com/registry/
Harbor 项目https://goharbor.io/
镜像管理 CLIhttps://docs.docker.com/reference/cli/docker/image/
内容信任https://docs.docker.com/engine/security/trust/

🧭 Docker Skills Journey

📍 你在这里:docker-hub — 镜像仓库管理

← 上一项:docker-scout — 漏洞扫描 → 下一项:docker-cicd — CI/CD 集成

常见问题

Q1:如何快速上手此技能? A:参考上方的快速开始章节,按步骤操作即可。

Q2:遇到版本不兼容问题怎么办? A:检查依赖版本,使用 lock 文件锁定,并参考常见问题章节。

Q3:如何在生产环境中使用? A:参考最佳实践章节,确保配置正确,并做好监控和日志记录。

Q4:如何优化性能? A:参考性能优化相关文档,使用缓存、索引等手段。

Q5:如何贡献或反馈问题? A:在 GitHub 仓库提交 Issue 或 Pull Request。

Q6:是否支持中文? A:支持中文文档和中文注释,详见国内适配章节。

评论

支持 Markdown