コンテナイメージをリポジトリに接続すると、パッケージのランディングページには、README などリポジトリからの情報やリンクが表示されます。
リポジトリとコンテナイメージを GitHub 上で接続するには、それらが GitHub 上で同じオーナーを共有している必要があります。 たとえば、以下の例では my_repo
と hello_docker
が、同じ monalisa
というユーザに所有されています。
https://github.com/monalisa/my_repo
https://github.com/monalisa/hello_docker
リポジトリをユーザが所有するコンテナに GitHub で接続する
-
On GitHub, navigate to the main page of your user account.
-
GitHubの右上で、プロフィール画像をクリックし、続いてYour profile(あなたのプロフィール)をクリックしてください。
-
On your profile page, in the top right, click Packages.
-
Search for and select your package.
-
In the top right of your container image's landing page, click Package settings.
-
Under your package versions, click Connect repository.
-
Select a repository, then click Connect repository.
リポジトリを Organization が所有するコンテナと GitHub で接続する
-
On GitHub, navigate to the main page of your organization.
-
Under your organization name, click Packages.
-
Search for and select your package.
-
In the top right of your container image's landing page, click Package settings.
-
Under your package versions, click Connect repository.
-
Select a repository, then click Connect repository.
リポジトリをコンテナイメージにコマンドラインで接続する
-
Dockerfile に以下の行を追加します。
OWNER
とREPO
は、あなたの情報に置き換えてください。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
リポジトリの「事前定義されたアノテーションキー」を参照してください。 -
あなたのコンテナイメージを構築します。 この連では、カレントディレクトリ内の Dockerfile からイメージを構築し、イメージ名を
hello_docker
とします。$ docker build -t hello_docker .
-
必要に応じて、タグ付けする 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
-
Docker イメージを任意のイメージ名とホスティング先でタグ付けします。
$ docker tag IMAGE_NAME ghcr.io/OWNER/NEW_IMAGE_NAME:TAG
例:
$ docker tag 38f737a91f39 ghcr.io/monalisa/hello_docker:latest
-
まだ 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>
- コンテナイメージを GitHub Container Registry にプッシュします。
例:$ docker push ghcr.io/OWNER/IMAGE-NAME:TAG
$ docker push ghcr.io/monalisa/hello_docker:latest