Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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

リポジトリを GitHub.com 上のパッケージに接続できます。

GitHub Packages は、GitHub Free、GitHub Pro、Organization の GitHub Free、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server 3.0 以降、GitHub AE で利用できます。
GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 また、従来のリポジトリごとのプランを利用しているアカウントは、リポジトリごとに課金されるため、詳細なアクセス許可をサポートしているレジストリにはアクセスできません。 細かなアクセス許可をサポートするレジストリの一覧については、「GitHub Packages のアクセス許可について」を参照してください。 詳しくは、「GitHub の製品」をご覧ください。

個人アカウントまたは Organization にスコープ指定されたパッケージを公開すると、既定では、このパッケージはリポジトリにリンクされません。 リポジトリをパッケージに接続することによって、パッケージのランディングページには、READMEなどのリポジトリからの情報やリンクが表示されるようになります。

GitHub でリポジトリをユーザーにスコープ指定されたパッケージに接続する

  1. GitHub で、個人アカウントのメイン ページに移動します。

  2. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分のプロファイル] をクリックします。

    @octocat のプロファイル写真の下にあるドロップダウン メニューのスクリーンショット。 [自分のプロファイル] が濃いオレンジ色の枠線で囲まれています。

  3. プロファイル ページの右上にある [パッケージ] をクリックします。 プロファイル ページの [パッケージ] オプション

  4. パッケージのバージョンで、 [リポジトリの接続] をクリックします。 パッケージのランディング ページでリポジトリ ボタンを接続する

  5. リポジトリを選択し、 [リポジトリの接続] をクリックします。 リポジトリ選択のポップアップ ウィンドウ内の [リポジトリの接続] ボタン

GitHub でリポジトリを Organization にスコープ指定されたパッケージに接続する

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

  2. Organization 名の下で、 [パッケージ] をクリックします。 Organization ランディング ページの [パッケージ] タブ

  3. パッケージのバージョンで、 [リポジトリの接続] をクリックします。 パッケージのランディング ページでリポジトリ ボタンを接続する

  4. リポジトリを選択し、 [リポジトリの接続] をクリックします。 リポジトリ選択のポップアップ ウィンドウ内の [リポジトリの接続] ボタン

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

  1. Dockerfile で、次の行を追加します。このとき、OWNER および REPO はご自分のものに置き換えます。

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

    たとえば、ユーザー octocatmy-repo、Dockerfile に次の行を追加します。

    LABEL org.opencontainers.image.source=https://github.com/octocat/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
    > hello_docker        latest      142e665b1faa   5 seconds ago   125MB
    > redis               latest      afb5e116cac0   3 months ago    111MB
    > alpine              latest      a6215f271958   5 months ago    5.29MB
  4. Docker イメージに名前とホスティング先を割り当てます。

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

    NAMESPACE を、パッケージのスコープ指定先にしたい個人アカウントまたは Organization の名前に置き換えます。

    次に例を示します。

    $ docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
  5. まだContainer registryで認証を受けていなければ、受けてください。 詳しくは、「コンテナレジストリの利用」を参照してください。

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

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

    次に例を示します。

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