Skip to content

Instantly share code, notes, and snippets.

@teebow1e
Forked from yokawasa/ghcr.md
Last active May 30, 2025 17:49
Show Gist options
  • Save teebow1e/010acdf0404bbd6b1e884f1aa378dad7 to your computer and use it in GitHub Desktop.
Save teebow1e/010acdf0404bbd6b1e884f1aa378dad7 to your computer and use it in GitHub Desktop.
[Selfhost] ghcr (GitHub Container Registry)

ghcr (GitHub Container Registry) quickstart

CLI

To push container images to ghcr, you need peronal access token (PAT) - see how to create PAT

  1. Get PAT (personal access token)

Personal Settings > Developer settings > Personal access tokens

  1. ghcr login test
# echo $PAT | docker login ghcr.io -u <githubユーザ名> --password-stdin
echo $PAT | docker login ghcr.io -u yokawasa --password-stdin

Login Succeeded
  1. push
docker tag mycontainer ghcr.io/yokawasa/myrepo/mycontainer:0.0.1
docker push ghcr.io/yokawasa/myrepo/mycontainer:0.0.1
  1. inspect
docker inspect ghcr.io/yokawasa/myrepo/mycontainer:0.0.1

GitHub Actions

you can do seamless access to containers from Actions workflows via the GITHUB_TOKEN

The Container registry supports the GITHUB_TOKEN for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to ghcr.io, then we highly recommend you update your workflow to use the GITHUB_TOKEN.

     - name: Log in to registry
        # This is where you will update the PAT to GITHUB_TOKEN
        run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

See Upgrading a workflow that accesses ghcr.io for more detail

Associate a certain package to a repository

REFERENCES

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment