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

リポジトリをコンテナイメージに接続する

ローカルおよび GitHub において、リポジトリをコンテナイメージにリンクできます。

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)」を参照してください。

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

コンテナイメージをリポジトリに接続すると、パッケージのランディングページには、README などリポジトリからの情報やリンクが表示されます。

リポジトリとコンテナイメージを GitHub 上で接続するには、それらが GitHub 上で同じオーナーを共有している必要があります。 たとえば、以下の例では my_repohello_docker が、同じ monalisa というユーザに所有されています。

https://github.com/monalisa/my_repo
https://github.com/monalisa/hello_docker

リポジトリをユーザが所有するコンテナに GitHub で接続する

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

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

    プロフィール画像

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

    プロフィールページのパッケージオプション

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

    パッケージのランディングページのリポジトリへの接続ボタン

  5. リポジトリを選択して、続いてConnect repository(リポジトリに接続)をクリックしてください。

    リポジトリ選択のポップアップウィンドウ内のリポジトリへの接続ボタン

リポジトリを Organization が所有するコンテナと GitHub で接続する

  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. まだ GitHub Container Registry への認証を行っていない場合には、

GitHub Container Registry. 詳しい情報については 「GitHub Container Registry への認証を行う」を参照してください。

<pre><code class="hljs language-shell">$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
> Login Succeeded</code></pre>
  1. コンテナイメージを GitHub Container Registry にプッシュします。
    $ docker push ghcr.io/OWNER/IMAGE-NAME:TAG
    例:
    $ docker push ghcr.io/monalisa/hello_docker:latest

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.