ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GitHub Container Registry について

GitHub Container Registry を使用して、GitHub の Organization または個人ユーザアカウントにシームレスに Docker コンテナイメージをホストして管理できます。 GitHub Container Registry を利用すれば、パッケージを管理できるユーザやパッケージにアクセスできるユーザを、きめ細かく設定できます。

GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server 2.22、GitHub One、GitHub AEで利用できます。


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 詳しい情報については「[GitHubの製品](/articles/github-s-products)」を参照してください。

ここには以下の内容があります:

注釈: GitHub Container Registry は現在パブリックベータであり、変更されることがあります。 ベータ期間中は、ストレージおよび帯域幅の制限はありません。 GitHub Container Registry を使用するには、アカウントで機能を有効化する必要があります。 詳しい情報については、「改善されたコンテナサポートを有効化する」を参照してください。

GitHub Container Registry について

コンテナレジストリを使用すると、以下が行えます。

  • コンテナイメージを、リポジトリではなくOrganization及びユーザアカウント内に保存する。
  • リポジトリの権限と可視性とは独立に、詳細な権限と可視性を設定する。
  • 匿名でパブリックなコンテナイメージにアクセスする。

パッケージの使用についてのコンテキストを共有するには、GitHub でコンテナイメージをリポジトリにリンクできます。 詳しい情報については、「リポジトリをコンテナイメージに接続する」を参照してください。

GitHub Container Registry には、他のパッケージレジストリと異なるホスト場所、権限、可視性があります。

パッケージレジストリGitHub Container Registry
ホスト場所1 つのリポジトリに複数のパッケージをホストできます。1 つの Organization またはユーザアカウントに複数のコンテナをホストできます。
権限You can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization. パッケージはリポジトリの権限を継承するので、GitHubのロールとTeamを使い、各パッケージをインストールしたり公開したりできる人を制限できます。 リポジトリの読み取り権限を持っている人は、パッケージを依存関係としてプロジェクトにインストールでき、書き込み権限を持っている人は新しいパッケージのバージョンを公開できます。コンテナイメージごとに、他のユーザが持つアクセスレベルを選択できます。 コンテナイメージへのアクセス権限は、Organization およびリポジトリの権限とは別になります。
可視性You can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization.それぞれのコンテナイメージに可視性を設定できます。 プライベートコンテナイメージは、Organization 内でアクセス権を付与されたユーザおよび Team のみに表示されます。 パブリックコンテナは誰でも表示できます。

詳しい情報については、「GitHub Container Registry 用のスコープと権限」を参照してください。

サポートされているフォーマット

現在のところ、container registry では以下のコンテナフォーマットをサポートしています。

GitHub Container Registry は、コンテナを ghcr.io/OWNER/IMAGE-NAME にホストします。

パッケージクライアント言語パッケージフォーマット説明
dockerなしDockerfileNodeのパッケージマネージャー

マニフェストリスト/イメージインデックス

GitHub Container Registry は、Docker V2、スキーマ 2 および OCI イメージ仕様で定義されている Docker マニフェストリスト/OCI イメージインデックスフォーマットもサポートしています。

コンテナイメージの可視性とアクセス権限

コンテナイメージへのアクセス権限がある場合、コンテナイメージをプライべートまたはパブリックに設定できます。 パブリックイメージは匿名でアクセスでき、認証や CLI 経由でサインインすることなくプルできます。

あなたが管理者であれば、Organization レベルおよびリポジトリレベルに設定した権限とは別に、コンテナイメージに対してアクセス権限を付与することもできます。

ユーザアカウントが所有し公開しているコンテナイメージには、任意のユーザにアクセスロールを付与できます。 Organization が所有し公開しているコンテナイメージには、Organization 内の任意の Team にアクセスロールを付与できます。

権限ロールアクセス権の内容
Readパッケージをダウンロードできます。
メタデータの読み取りができます。
Writeこのパッケージをアップロードおよびダウンロードできます。
パッケージのメタデータの読み取りおよび書き込みができます。
Adminこのパッケージのアップロード、ダウンロード、削除、管理ができます。
パッケージのメタデータの読み取りおよび書き込みができます。
パッケージに権限を付与できます。

詳しい情報については、「コンテナイメージにアクセス制御と可視性を設定する」を参照してください。

トークンについて

パッケージをインストールあるいは公開するには、適切なスコープを持つトークンを使い、ユーザアカウントがそのリポジトリに対する適切な権限を持っていなければなりません。

スコープ説明
read:packagesGitHub Container Registryからのコンテナイメージのダウンロードとインストール
write:packagesGitHub Container Registryへのコンテナイメージのアップロードと公開
delete:packagesGitHub Container Registryからの特定バージョンのプライベートまたはパブリックコンテナイメージの削除。 For more information, see "Deleting and restoring a package."

コンテナイメージで利用できるスコープおよび権限については、「コンテナイメージにアクセス制御と可視性を設定する」を参照してください。

詳しい情報については、「個人アクセストークンを作成する」と「利用可能なスコープ」を参照してください。

GitHub Container Registryの支払いについて

GitHub Container Registryがベータの間は、新しいcontainer registryと既存のGitHub Packages Dockerレジストリはどちらも無料です。 GitHub Packages Dockerレジストリに関する詳しい情報については、「GitHub Packagesで使用するためのDockerの設定」を参照してください。

ベータの後は、他のGitHub Packagesレジストリの利用と同じ支払いとストレージのレートがコンテナレジストリに適用されます。 詳しい情報については「GitHub Packagesの支払いについて」を参照してください。

サポートへの連絡

GitHub Container Registry に関するフィードバックや機能のリクエストがある場合は、フィードバックフォームでご連絡ください。

連絡フォームを使い、GitHub Container RegistryについてGitHub Supportに連絡してください。

  • ドキュメンテーションに反する何らかの体験をした時.
  • 漠然とした、あるいは不明確なエラーを体験した時.
  • GDPR 違反、API キー、個人を識別できる情報といったセンシティブなデータを含むパッケージを公開した時。

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.