General
Note: GitHub Container Registry is free for public images. Container Registry is free for private images during the beta, and as part of GitHub Packages will follow the same pricing model when generally available.
Create personal token
Go to https://github.com/settings/tokens.
Click Generate new token.
Permissions:
- write:packages / read:packages
- delete:packages

Click Generate token.
Copy your token to a secure location.
Login
docker login ghcr.io --username [GITHUB_USERNAME] # Press ENTER [COPY_TOKEN_HERE]
Example
docker login ghcr.io --username itsmetommy
Password:
Login Succeeded
Pull
docker pull [REPOSITORY_NAME]/[FOLDER]/[IMAGE]:[TAG]
Example
# Option 1 docker pull itsmetommy/go-guestbook:latest # Option 2 dock pull ghcr.io/itsmetommy/go-guestbook:latest
Tag
docker tag [IMAGE]:[TAG] ghcr.io/[GITHUB_USERNAME]/[IMAGE]:[TAG]
Example
docker tag itsmetommy/go-guestbook:latest ghcr.io/itsmetommy/go-guestbook:latest # View docker images | grep ghcr
ghcr.io/itsmetommy/go-guestbook latest c91f65087b1f 3 months ago 315MB
Push
docker push ghcr.io/[GITHUB_USERNAME]/[IMAGE]:[TAG]
Example
docker push ghcr.io/itsmetommy/go-guestbook:latest The push refers to repository [ghcr.io/itsmetommy/go-guestbook] 30577be061c0: Pushed 20be37fc2870: Pushed 3c98aeb79676: Pushed 32aa68d0c206: Pushed 820c172a8031: Pushed aae6e1ac5779: Pushed 167e183ab17f: Pushed ae7df2c48e6c: Pushed eade8b1abd17: Pushed 70b223a9dcd7: Pushed e2eb06d8af82: Pushed latest: digest: sha256:bd3523b2a54fa693dcc5cb5aaaf279e64adad404a6e6981afee816a6ac1e9bd9 size: 2617
Use
docker pull ghcr.io/itsmetommy/go-guestbook:latest