5.3. Red Hat Quay リポジトリーの概要
リポジトリーは、関連するコンテナーイメージのセットを一元的に保存するための場所を提供します。これらのイメージを使用して、アプリケーションとその依存関係を標準化された形式で構築できます。
リポジトリーは名前空間を使用して整理します。名前空間には、それぞれ複数のリポジトリーを含めることができます。たとえば、個人プロジェクト用の名前空間、会社用の名前空間、または組織内の特定のチーム用の名前空間を設定できます。
有料プランでは、Quay.io はユーザーにリポジトリーへのアクセス制御を提供します。リポジトリーをパブリックにすると、誰でもリポジトリーからイメージをプルまたはダウンロードできるようになります。リポジトリーをプライベートにすると、許可されたユーザーまたはチームのみにアクセスが制限されます。
Quay.io の無料利用枠では、プライベートリポジトリーは許可されません。プライベートリポジトリーを作成するには、Quay.io の有料層にアップグレードする必要があります。詳細は、「Quay.io の価格に関する情報」を参照してください。
Quay.io でリポジトリーを作成するには 2 つの方法があります。適切な podman
コマンドを使用してイメージをプッシュする方法と、Quay.io の UI を使用する方法です。UI を使用すると、リポジトリーを削除することもできます。
最初に UI でリポジトリーを作成せずにコマンドラインインターフェイス (CLI) を介してイメージをプッシュすると、プランに関係なく、作成されたリポジトリーは Private に設定されます。
イメージをプッシュする前に、Quay.io UI でリポジトリーを作成することを推奨します。Quay.io はプランのステータスをチェックし、プランがアクティブでない場合はプライベートリポジトリーの作成を許可しません。
5.3.1. UI を使用したリポジトリーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Quay.io UI を使用してリポジトリーを作成するには、次の手順を実行します。
手順
v2 UI を使用してリポジトリーを作成するには、次の手順を実行します。
手順
- ナビゲーションペインで Repositories をクリックします。
- Create Repository をクリックします。
名前空間 (例: quayadmin) を選択し、リポジトリー名 (例:
testrepo
) を入力します。重要リポジトリー名には単語 *
build
*trigger
*tag
を使用しないでください。これらの単語をリポジトリー名に使用すると、ユーザーがリポジトリーにアクセスできなくなり、リポジトリーを完全に削除できなくなります。このようなリポジトリーを削除しようとすると、
Failed to delete repository <repository_name>, HTTP404 - Not Found.
エラーが返されます。Create をクリックします。
これで、サンプルリポジトリーが Repositories ページの下に表示されるはずです。
-
オプション: リポジトリーを非公開に設定するには、Settings
Repository visibility Make private をクリックします。
5.3.2. Podman を使用したリポジトリーの作成 リンクのコピーリンクがクリップボードにコピーされました!
適切な認証情報がある場合は、Podman を使用して、Quay.io インスタンスにまだ存在しないリポジトリーにイメージを プッシュ できます。イメージのプッシュとは、コンテナーイメージをローカルシステムまたは開発環境から Quay.io などのコンテナーレジストリーにアップロードするプロセスを指します。イメージをレジストリーにプッシュすると、リポジトリーが作成されます。
最初に UI でリポジトリーを作成せずにコマンドラインインターフェイス (CLI) を介してイメージをプッシュすると、プランに関係なく、作成されたリポジトリーは Private に設定されます。
イメージをプッシュする前に、Quay.io UI でリポジトリーを作成することを推奨します。Quay.io はプランのステータスをチェックし、プランがアクティブでない場合はプライベートリポジトリーの作成を許可しません。
イメージをプッシュしてイメージリポジトリーを作成するには、次の手順を実行します。
前提条件
-
podman
CLI をダウンロードしてインストールした。 - レジストリーにログインしている。
- イメージ (busybox など) をプルした。
手順
サンプルレジストリーからサンプルページを取得します。以下に例を示します。
podman pull busybox
$ podman pull busybox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルシステム上のイメージに、新しいリポジトリーとイメージ名をタグ付けします。以下に例を示します。
podman tag docker.io/library/busybox quay.io/quayadmin/busybox:test
$ podman tag docker.io/library/busybox quay.io/quayadmin/busybox:test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージをレジストリーにプッシュします。この手順の後に、ブラウザーを使用して、リポジトリーでタグ付けされたイメージを確認できます。
podman push --tls-verify=false quay.io/quayadmin/busybox:test
$ podman push --tls-verify=false quay.io/quayadmin/busybox:test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Getting image source signatures Copying blob 6b245f040973 done Copying config 22667f5368 done Writing manifest to image destination Storing signatures
Getting image source signatures Copying blob 6b245f040973 done Copying config 22667f5368 done Writing manifest to image destination Storing signatures
Copy to Clipboard Copied! Toggle word wrap Toggle overflow