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. 04Docker Registry または Harbor の構築
  5. 05認証やプッシュ時の問題の確認

活用シーン

  1. 01アプリケーションイメージの公開
  2. 02プライベート Registry または Harbor の設定
  3. 03本番イメージのタグやダイジェストの固定
  4. 04CI でのレジストリ認証への対応

インストール

コマンドをコピーしてターミナルで実行します。

$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...

ワークフロー — 推奨される操作手順

Step 1: レジストリにログイン: docker login または docker login ghcr.io Step 2: タグ付け: docker tag myapp:v1 ghcr.io/org/myapp:v1 Step 3: イメージをプッシュ: docker push ghcr.io/org/myapp:v1 Step 4: 検証: docker pull ghcr.io/org/myapp:v1 でプルして確認 Step 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)ログイン、push/pull、タグ管理
✅ 対応可能プライベートレジストリの構築Docker Registry + Harbor のエンタープライズソリューション
✅ 対応可能タグ戦略の策定semver/sha256/digest を比較して選定
⚠️ 条件付きイメージミラー(registry-mirrors)daemon.json の設定と利用可能なミラーサービスが必要
⚠️ 条件付き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: 中国語のドキュメントとコメントに対応しています。国内向け対応の章を参照してください。

コメント