-
Welcome
-
The Philosophy of Chainguard Images
-
How to Build with Chainguard: Tags
-
How to Build with Chainguard: Image Variants
-
How to Build with Chainguard (Multi-Stage Builds)
-
How to Build with Chainguard: Migration Differences
-
How to Build with Chainguard: Application Images
-
Differences from Upstream Images: User Permissions
-
Differences from Upstream Images: Entrypoints
-
Dependency Hygiene
-
Keeping Up With Changes
-
Resources & Thank You
Chainguard 101: Secure Container Images Basics
Course 1 of 14 in Chainguard Containers Onboarding Guide
Learn how to build, run, and maintain applications on secure, minimal Chainguard Containers with confidence.
This course introduces the fundamentals of Chainguard Images: What are they, why do they matter, and how can you use them effectively? You’ll learn about dev vs. distroless variants, multi-stage builds, tagging strategies, dependency hygiene, and best practices for keeping your images CVE-free and up to date. Perfect for developers, operators, and teams beginning their journey with Chainguard.
By the end of this course, you will be able to:
- Explain what Chainguard Images are and how they differ from upstream alternatives.
- Identify when to use dev vs. distroless variants.
- Build applications using multi-stage builds with Chainguard Images.
- Apply best practices for tagging, versioning, and using digests.
- Manage dependencies safely with APK and Chainguard Custom Assembly.
- Recognize how to keep images secure and CVE-free using tools like Digestabot.
- Understand how Chainguard Images integrate with app images, Helm charts, and the wider ecosystem.