Course by Ivan Velichko

An Alternative Introduction to Dagger: Understanding the Core Concepts

An Alternative Introduction to Dagger: Understanding the Core Concepts (cover image)

This is a WIP course on Dagger. New materials will be published ~weekly.

Have you heard that with Dagger you can run your pipelines locally exactly as they run in CI/CD, that it offers a better way to write automation scripts than mixing bash with YAML, and that endless "push and pray" commits stop being the only way to debug failed CI jobs? You got excited, tried to use Dagger for your own projects, but then realized that the learning curve might be a bit too steep?

Then this alternative introduction to Dagger is for you!

Instead of covering all the ins and outs of Dagger, this course aims to shed enough light on the core concepts and help you build a mental model of how Dagger works. The goal is to understand how to use Dagger by gradually migrating an example software project from traditional script-based automation to a Dagger-powered development workflow, peeking under the hood of the new technology along the way.


  • Basic understanding of Linux containers and Docker.
  • Some knowledge of Go (or any other) programming language.

The course materials represent the author's take on Dagger and doesn't substitute for the official documentation. Please refer to for the latter.

Get notified about new lessons straight to your inbox!