Skip to main content


Welcome to Dagger, a programmable tool that lets you replace your software project's artisanal scripts with a modern API and cross-language scripting engine.

This tutorial walks you, step by step, through the basics of using the Dagger CLI, developing your first Dagger Function, and packaging it into a module.

What you will learn

In this tutorial, you will learn how to:

  • Install the Dagger CLI
  • Call a Dagger Function
  • Understand Dagger Functions
  • Use Dagger Functions with directories and containers
  • Chain Dagger Functions together into a pipeline
  • Write your own Dagger Function


To use this tutorial, you only need the Dagger CLI installed on your machine.

Note that Dagger requires a container runtime. This can be Docker, but you can also use Podman, nerdctl, or other Docker-like systems.