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