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 はプランのステータスをチェックし、プランがアクティブでない場合はプライベートリポジトリーの作成を許可しません。
イメージをプッシュしてイメージリポジトリーを作成するには、次の手順を実行します。
前提条件
-
podman
CLI をダウンロードしてインストールしている。 - Quay.io にログインしている。
- イメージ (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