利用ガイドに戻る
コンテナレジストリ
ToukaCloud の OCI / Docker 互換イメージレジストリ (registry.max3584.net) の使い方
1. 概要
コンテナレジストリは、自分でビルドした Docker / OCI イメージを保存して、 ToukaCloud の Web サービス (SaaS) や CI/CD から pull するための場所です。 以下の機能を提供します。
- プロジェクト: イメージをグルーピングする論理単位 (容量割当もここで管理)
- アクセストークン: docker login 用のパスワード相当 (Project ごとに発行)
- テナント隔離: 自分の namespace 配下にしか push/pull できない
- UI catalog: 自分のリポジトリ一覧のみ表示 (他人のは見えない)
2. 前提条件
- 有効なライセンス (S 以上のいずれか) があること
- ローカルマシンに
dockerCLI が入っていること
ライセンスがない場合は ライセンスページ からプランを選んで購入してください。
3. プロジェクトを作成する
- サイドバーの レジストリ を開く
- 「プロジェクトを作成」 をクリック
- プロジェクト名を入力 (小文字英数字とハイフン、英数字始まり / 終わり、最大 50 文字)
- 容量をスライダーで選択 (1 GiB 〜 ライセンス上限)
- 「プロジェクトを作成」 で確定
作成に成功すると一覧に新しいプロジェクトカードが追加されます。 push パス (
registry.max3584.net/<tenantId>/<userId>/<projectName>/) がカード内に表示されるので、コピーして docker tag に使ってください。4. アクセストークンを発行する
docker login のパスワードに使うトークンを発行します。 トークンは 1 度だけ表示されるので、必ずその場でコピーしてください。
- 「アクセストークン」 タブを開く
- 「トークンを作成」 をクリック
- 対象プロジェクトを選択
- ラベル (例:
laptopやci-runner) を入力 - (任意) 有効期限を設定
- 「トークンを作成」 で発行
- 表示されたトークンをコピーして安全な場所に保存
ダイアログを閉じるとトークンは二度と表示されません。 紛失した場合は対象トークンの「再発行」ボタンで作り直してください (古い値は即時失効し、利用中のアプリの imagePullSecret は自動更新されます)。
5. docker login / push / pull
レジストリ画面上部の「あなたのレジストリエンドポイント」欄からコマンドをコピーできます。
5.1 ログイン
docker login registry.max3584.net Username: <任意 (例: あなたのメールアドレス)> Password: <発行したアクセストークン>
5.2 イメージをタグ付け
ローカルでビルドしたイメージを、レジストリ用のフルパスでタグ付けします。 フルパスは Project カードに表示されている形式です:
docker tag myapp:latest \ registry.max3584.net/<tenantId>/<userId>/<projectName>/myapp:latest
5.3 push
docker push registry.max3584.net/<tenantId>/<userId>/<projectName>/myapp:latest
5.4 pull
docker pull registry.max3584.net/<tenantId>/<userId>/<projectName>/myapp:latest
tenantId と userId はレジストリ画面の 「Your registry endpoint」に既に展開された形で表示されているので、 そのままコピーして使ってください。6. イメージパスのルール
イメージのフルパスは以下の構造で固定されています:
registry.max3584.net/<tenantId>/<userId>/<projectName>/<image>:<tag>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
あなたの namespace (固定)tenantId: あなたのアカウント ID から自動生成 (8桁hex)userId: あなたのアカウント ID (Keycloak UUID)projectName: 作成したプロジェクト名image: 任意のイメージ名 (英数字, ハイフン, スラッシュ可)tag: 任意のタグ (例:latest,v1.0.0)
7. 他ユーザーとの分離
- 自分の namespace (
tenantId/userId/) 配下以外への push / pull は 403 Forbidden で拒否されます docker searchや catalog 取得で他人のイメージは見えません- tags 一覧 (
/v2/.../tags/list) も自分のリポジトリのみ取得可能 - トークンが流出しても、流出先は他人の namespace にはアクセスできません
8. ライセンス上限と容量
レジストリ周りの上限はプラン別に決まります (ライセンスガイド と同じ SoT を参照しています):
| プラン | 最大プロジェクト数 | プロジェクトあたりの容量 | レジストリ合計容量 |
|---|---|---|---|
| SAAS_FREE | 1 | 2 GB | 2 GB |
| SAAS_BASIC | 1 | 2 GB | 2 GB |
| SAAS_PRO | 1 | 2 GB | 2 GB |
| SAAS_ENTERPRISE | 1 | 2 GB | 2 GB |
| S | 1 | 10 GB | 2 GB |
| M | 1 | 10 GB | 10 GB |
| L | 1 | 10 GB | 30 GB |
| XL | 1 | 10 GB | 100 GB |
| XXL | 1 | 10 GB | 500 GB |
| MAX | 1 | 10 GB | 2000 GB |
現在の使用量と上限はレジストリ画面のヘッダや ライセンスページ で確認できます。上限を超えるとプロジェクト作成が拒否されます。
9. トラブルシューティング
docker login で
denied: requested access to the resource is deniedトークンが間違っているか、期限切れか、Revoke 済みです。新しく発行して再ログインしてください。
docker push で
403 Forbiddenpush 先のパスが自分の namespace と異なっています。 レジストリ画面のフルパスをコピーして再タグ付けしてください。
プロジェクト作成で
Storage size exceeds limitライセンスのプロジェクト容量上限を超えています。スライダーを下げるか、 上位プランへアップグレードしてください。
Project "..." already exists for user同名プロジェクトが既に存在しています。別の名前を指定してください。