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

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

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

GitHub Packages is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 2.22, and GitHub One.


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 For more information, see "[GitHub's products](/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. On GitHub, navigate to the main page of your user account.

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

    プロフィール画像

  3. On your profile page, in the top right, click Packages.

    Packages option on profile page

  4. Search for and select your package.

  5. In the top right of your container image's landing page, click Package settings.

    Package settings button

  6. Under your package versions, click Connect repository.

    Connect a repository button on packages landing page

  7. Select a repository, then click Connect repository.

    Connect a repository button in repository selection pop-up window

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

  1. On GitHub, navigate to the main page of your organization.

  2. Under your organization name, click Packages.

    コンテナアクセス権の招待ボタン

  3. Search for and select your package.

  4. In the top right of your container image's landing page, click Package settings.

    Package settings button

  5. Under your package versions, click Connect repository.

    Connect a repository button on packages landing page

  6. Select a repository, then click Connect repository.

    Connect a repository button in repository selection pop-up window

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

  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.