Docker Hub 自動化
Docker Hub のワークフローを自動化します。組織やリポジトリの作成・管理、チームへのメンバー追加、イメージプッシュの Webhook 設定、コンテナイメージの一覧表示などが行えます。
ツールキット ドキュメント: composio.dev/toolkits/docker_hub
セットアップ
- Composio MCP サーバーをクライアントに追加:
https://rube.app/mcp - プロンプトに従って Docker Hub アカウントを接続 (JWT/トークン認証)
- 以下のワークフローを使い始める
コアワークフロー
1. 組織の一覧表示
DOCKER_HUB_LIST_ORGANIZATIONS を使用して、認証ユーザーが所属する組織を確認します。
ツール: DOCKER_HUB_LIST_ORGANIZATIONS
入力:
- page: 整数 (1始まり、デフォルト 1)
- page_size: 整数 (1~100、デフォルト 25)
2. 組織の作成
DOCKER_HUB_CREATE_ORGANIZATION を使用して、新しい Docker Hub 組織をプログラムで作成します。
ツール: DOCKER_HUB_CREATE_ORGANIZATION
入力:
- orgname: 文字列 (必須) -- 小文字、英数字/._- のみ、最低2文字
- company: 文字列 (オプション) -- 組織に関連付ける会社名
注意: /v2/users/login で取得した JWT 認証が必要であり、アクセスが制限されている場合があります。
3. 組織の詳細とリポジトリの取得
DOCKER_HUB_GET_ORGANIZATION を使用して、名前空間の情報とそのリポジトリを取得します。任意の公開名前空間で動作します。
ツール: DOCKER_HUB_GET_ORGANIZATION
入力:
- organization: 文字列 (必須) -- 例: "docker", "bitnami", "library"
4. リポジトリの作成
DOCKER_HUB_CREATE_REPOSITORY を使用して、名前空間の下に公開またはプライベートリポジトリを作成します。
ツール: DOCKER_HUB_CREATE_REPOSITORY
入力:
- namespace: 文字列 (必須) -- Docker Hub ユーザー名または組織名
- name: 文字列 (必須) -- 小文字、英数字/._- 許可
- description: 文字列 (オプション) -- 最大100文字
- full_description: 文字列 (オプション) -- Markdown README コンテンツ
- is_private: ブール値 (デフォルト false) -- プライベートリポジトリは有料プランが必要
5. フィルタリングによるリポジトリの一覧表示
DOCKER_HUB_LIST_REPOSITORIES を使用して、名前空間内のリポジトリをソートおよびコンテンツタイプフィルタリングして列挙します。
ツール: DOCKER_HUB_LIST_REPOSITORIES
入力:
- namespace: 文字列 (必須) -- 例: "library", "myorg"
- ordering: "name" | "last_updated" | "pull_count" (先頭に - を付けると降順)
- page: 整数 (デフォルト 1)
- page_size: 整数 (1~100、デフォルト 25)
- content_types: 文字列 (カンマ区切り、例: "image,artifact")
6. チーム、メンバー、Webhook の管理
DOCKER_HUB_LIST_TEAMS で組織内のチームを一覧表示し、DOCKER_HUB_ADD_ORG_MEMBER でユーザーを招待し、DOCKER_HUB_CREATE_WEBHOOK でプッシュ通知を設定します。
ツール: DOCKER_HUB_LIST_TEAMS
- Docker Hub 組織内のすべてのチーム/グループを一覧表示
ツール: DOCKER_HUB_ADD_ORG_MEMBER
- Docker ID またはメールアドレスでユーザーを組織に招待
- オーナーまたは管理者権限が必要
ツール: DOCKER_HUB_CREATE_WEBHOOK
- イメージプッシュ通知用の Webhook をリポジトリに作成
- 二段階の手順: Webhook を作成し、その後フック URL を追加
- リポジトリに対する管理者権限が必要
既知の落とし穴
| 落とし穴 | 詳細 |
|---|---|
| JWT 認証 | DOCKER_HUB_CREATE_ORGANIZATION は /v2/users/login からの JWT 認証が必要 -- 標準の API トークンでは不十分な場合があります。 |
| プライベートリポジトリの制限 | プライベートリポジトリの作成 (is_private: true) には有料の Docker Hub プランが必要です。 |
| 組織名の制約 | 組織名は小文字、最低2文字、英数字、.、_、- のみ使用可能です。 |
| Webhook の二段階手順 | DOCKER_HUB_CREATE_WEBHOOK は二段階の手順です。最初に名前で Webhook を作成し、その後フック URL を追加します。 |
| ページネーション | すべての一覧表示エンドポイントはページベースのページネーションを使用します。結果がなくなるまでページを繰り返し処理してください。 |
クイックリファレンス
| ツールスラグ | 説明 |
|---|---|
DOCKER_HUB_LIST_ORGANIZATIONS | ユーザーが所属する組織を一覧表示 |
DOCKER_HUB_CREATE_ORGANIZATION | 新しい Docker Hub 組織を作成 |
DOCKER_HUB_GET_ORGANIZATION | 組織の詳細とリポジトリ一覧を取得 |
DOCKER_HUB_CREATE_REPOSITORY | 名前空間の下にリポジトリを作成 |
DOCKER_HUB_LIST_REPOSITORIES | フィルタリングとソートでリポジトリを一覧表示 |
DOCKER_HUB_LIST_TEAMS | 組織内のチーム/グループを一覧表示 |
DOCKER_HUB_ADD_ORG_MEMBER | ユーザーを組織に招待 |
DOCKER_HUB_CREATE_WEBHOOK | リポジトリにプッシュ通知 Webhook を作成 |
Powered by Composio