リポジトリのパッケージへの接続

リポジトリをGitHub上のコンテナイメージに接続できます。

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


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 また、レガシーのリポジトリごとのプランを使っているアカウントは、リポジトリごとに課金されるため、コンテナレジストリにはアクセスできません。 詳しい情報については「[GitHubの製品](/articles/github-s-products)」を参照してください。

リポジトリをパッケージに接続することによって、パッケージのランディングページには、READMEなどのリポジトリからの情報やリンクが表示されるようになります。

リポジトリをGitHub上のユーザが所有するパッケージに接続する

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。

  2. GitHubの右上で、プロフィール画像をクリックし、続いてYour profile(あなたのプロフィール)をクリックしてください。 プロフィール画像

  3. プロフィールページで、右上のPackages(パッケージ)をクリックしてください。 プロフィールページのパッケージオプション

  4. パッケージバージョンの下で、Connect repository(リポジトリに接続)をクリックしてください。 パッケージのランディングページのリポジトリへの接続ボタン

  5. リポジトリを選択して、続いてConnect repository(リポジトリに接続)をクリックしてください。 リポジトリ選択のポップアップウィンドウ内のリポジトリへの接続ボタン

リポジトリをGitHub上のOrganizationが所有するパッケージに接続する

  1. GitHubで、Organizationのメインページにアクセスしてください。

  2. Organization名の下で、Packages(パッケージ)をクリックしてください。 コンテナアクセス権の招待ボタン

  3. パッケージバージョンの下で、Connect repository(リポジトリに接続)をクリックしてください。 パッケージのランディングページのリポジトリへの接続ボタン

  4. リポジトリを選択して、続いてConnect repository(リポジトリに接続)をクリックしてください。 リポジトリ選択のポップアップウィンドウ内のリポジトリへの接続ボタン

コマンドラインを使ってリポジトリをコンテナイメージに接続する

  1. Dockerfile に以下の行を追加します。OWNERREPO は、あなたの情報に置き換えてください。

    LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO

    たとえば、あなたのユーザ名が monalisa で、my-repo を所有している場合は、以下の行を Dockerfile に追加します。

    LABEL org.opencontainers.image.source=https://github.com/monalisa/my-repo

    詳しい情報については、公式の Docker ドキュメンテーションの「LABEL」、および opencontainers/image-spec リポジトリの「事前定義されたアノテーションキー」を参照してください。

  2. あなたのコンテナイメージを構築します。 この連では、カレントディレクトリ内の Dockerfile からイメージを構築し、イメージ名を hello_docker とします。

    $ docker build -t hello_docker .
  3. 必要に応じて、タグ付けする Docker イメージの情報を確認します。

    $ docker images
    > REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
    > ghcr.io/my-org/hello_docker         latest              38f737a91f39        47 hours ago        91.7MB
    > ghcr.io/my-username/hello_docker    latest              38f737a91f39        47 hours ago        91.7MB
    > hello-world                                           latest              fce289e99eb9        16 months ago       1.84kB
  4. Docker イメージを任意のイメージ名とホスティング先でタグ付けします。

    $ docker tag IMAGE_NAME ghcr.io/OWNER/NEW_IMAGE_NAME:TAG

    例:

    $ docker tag 38f737a91f39 ghcr.io/monalisa/hello_docker:latest
  5. まだコンテナレジストリで認証を受けていなければ、受けてください。 詳しい情報については「コンテナレジストリで認証を受ける」を参照してください。

    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
  6. コンテナイメージをコンテナレジストリにプッシュしてください。

    $ docker push ghcr.io/OWNER/IMAGE-NAME:TAG

    例:

    $ docker push ghcr.io/monalisa/hello_docker:latest

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡