To push container images to ghcr, you need peronal access token (PAT) - see how to create PAT
- Get PAT (personal access token)
- use thess permissions:
repo, write:packages
- export PAT:
export CR_PAT=YOUR_TOKEN
Personal Settings > Developer settings > Personal access tokens
- ghcr login test
echo $CR_PAT | docker login ghcr.io -u garnajee --password-stdin
Login Succeeded
- build
docker build -t ghcr.io/garnajee/myrepo/mycontainer:0.0.1 .
- push
# docker tag mycontainer ghcr.io/yokawasa/myrepo/mycontainer:0.0.1
docker push ghcr.io/garnajee/myrepo/mycontainer:0.0.1
- inspect
docker inspect ghcr.io/garnajee/myrepo/mycontainer:0.0.1
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