https://github.com/skills/publish-docker-images
Build and publish Docker images using GitHub Actions.
https://github.com/skills/publish-docker-images
deployment docker github-actions github-packages skills-course workflows
Last synced: 5 months ago
JSON representation
Build and publish Docker images using GitHub Actions.
- Host: GitHub
- URL: https://github.com/skills/publish-docker-images
- Owner: skills
- License: mit
- Created: 2022-01-31T17:17:45.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-01-27T15:47:20.000Z (5 months ago)
- Last Synced: 2026-01-27T22:32:09.624Z (5 months ago)
- Topics: deployment, docker, github-actions, github-packages, skills-course, workflows
- Language: JavaScript
- Homepage:
- Size: 92.8 KB
- Stars: 207
- Watchers: 20
- Forks: 104
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Publish Docker Images
_Learn how to build and publish Docker images using GitHub Actions, progressing from basic commands to advanced automation with specialized Docker actions._
## Welcome
- **Who is this for**: Developers and DevOps engineers interested in automating Docker image creation and publication.
- **What you'll learn**: How to build and publish Docker images using GitHub Actions with automated versioning and lifecycle management.
- **What you'll build**: A GitHub Actions workflow that automatically builds and publishes Docker images to GitHub Container Registry.
- **Prerequisites**:
- [Hello GitHub Actions](https://github.com/skills/hello-github-actions) exercise level of familiarity with GitHub Actions workflows
- Basic familiarity with containerization and [Docker](https://docs.docker.com/get-started/docker-overview/)
- **How long**: This exercise takes less than 1 hour to complete.
In this exercise, you will:
1. Set up a development environment and create a basic Docker workflow for building and publishing to GitHub Container Registry
1. Enhance the workflow with specialized Docker actions for improved performance
1. Implement dynamic tagging for automated versioning based on Git context
1. Practice a complete development lifecycle by creating features, pull requests, and releases with proper container versioning
### How to start this exercise
Simply copy the exercise to your account, then give your favorite Octocat (Mona) **about 20 seconds** to prepare the first lesson, then **refresh the page**.
[](https://github.com/new?template_owner=skills&template_name=publish-docker-images&owner=%40me&name=skills-publish-docker-images&description=Exercise:+Publish+Docker+Images&visibility=public)
Having trouble? 🤷
When copying the exercise, we recommend the following settings:
- For owner, choose your personal account or an organization to host the repository.
- We recommend creating a public repository, since private repositories will use Actions minutes.
If the exercise isn't ready in 20 seconds, please check the [Actions](../../actions) tab.
- Check to see if a job is running. Sometimes it simply takes a bit longer.
- If the page shows a failed job, please submit an issue. Nice, you found a bug! 🐛
---
© 2026 GitHub • [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md) • [MIT License](https://gh.io/mit)