
Dagger
CLI可编程的软件交付引擎:用 Go、Python、TypeScript 等 8 种语言的 SDK 编写构建、测试与发布流程,全部在容器中运行,本地与 CI 行为一致,自带 OpenTelemetry 追踪。需要 Docker 等容器运行时。
Dagger: a better way to ship
Dagger is a platform for automating software delivery. It can build, test and ship any codebase, reliably and at scale.
Dagger runs locally, in your CI server, or directly in the cloud.
brew install dagger/tap/dagger
Why Dagger?
Dagger makes your software delivery programmable, local-first, repeatable and observable.
Programmable. Shell scripts and proprietary YAML are no longer acceptable for automating software delivery. Dagger provides: a complete execution engine and system API; SDKs for 8 languages; an interactive REPL; a rich ecosystem of reusable modules; and more.
Local-first. Once you automate a task with Dagger, it will reliably run on any supported system: your laptop, AI sandbox, CI server, or dedicated cloud infrastructure. The only dependency is a container runtime like Docker.
Repeatable. Tools run in containers, orchestrated by sandboxed functions. Host dependencies are explicit and strictly typed. Intermediate artifacts are built just-in-time. Every operation is incremental by default, with advanced cache control. Whether it's a test report, a build or a deployment, Dagger gives you an output you can trust.
Observable. Every operation emits a full OpenTelemetry trace, enriched by granular logs and metrics. Visualize the trace in directly in the terminal, or in a web view. Debug complex workflows immediately instead of guessing what went wrong from a wall of text logs.
Features
System API. A cross-language API for orchestrating containers, filesystems, secrets, git repositories, network tunnels, and more. Every operation is typed and composable.
SDKs in 8 languages. Native SDKs for Go, Python, TypeScript, PHP, Java, .NET, Elixir and Rust. Each SDK is generated from the API schema, so you get idiomatic code with full type safety and editor support.
Typed artifacts. Define custom object types with encapsulated state and functions. Types are content-addressed and can be passed across SDK language boundaries and module boundaries without serialization.
Incremental execution. Every operation is keyed by its inputs. Change one file and only the affected operations re-run. Caching is content-addressed and works automatically across local runs and CI.
Runs anywhere. The only requirement is a Linux container runtime. Runs natively on Linux, or via Docker Desktop and similar products on macOS and Windows. Local and CI behavior are identical.
Built-in tracing. Every operation emits OpenTelemetry spans. The CLI includes a live TUI; traces can also be exported to Jaeger, Honeycomb, or any OTel-compatible backend.
Getting started
Community
Contributing
See CONTRIBUTING.md.
相关资源

Docker Compose
CLI用 compose.yaml 定义多容器应用,一条 docker compose up 拉起服务、数据库、缓存等整套环境,适合 agent 搭建本地开发与测试依赖。Docker 官方维护,macOS 随 Docker Desktop 附带。
docker/compose38.4k
Podman
CLI无需守护进程、支持 rootless 的容器与 Pod 管理工具,命令行与 Docker 兼容,可构建、运行、推送 OCI 镜像;macOS 与 Windows 需通过 podman machine 虚拟机运行。
podman-container-tools/podman33.1k
Docker CLI
CLIDocker 官方命令行,构建镜像、运行和管理容器、查看日志并推送到镜像仓库,是 agent 搭建隔离运行环境的基础工具。需要本机或远程的 Docker 引擎(如 Docker Desktop)。
docker/cli6.1k
Container Use
CLIDagger 官方出品:给每个编码 agent 分配独立的容器和 git 分支,多个 agent 可以并行工作、互不干扰,还能查看命令日志、随时接管终端。以 MCP 方式接入,需要 Docker 与 Git,目前仍处于实验阶段。
dagger/container-use4.1k
Docker Skills
SkillDocker 官方技能合集:项目容器化、Dockerfile 构建优化与加固、Compose 编排、Docker Sandboxes 与 Docker Agent 用法,并对删除等破坏性操作加确认护栏。
docker/skills569
act
CLI在本地用 Docker 运行 GitHub Actions 工作流,改完 .github/workflows 不必反复提交推送就能验证 CI,也能把工作流当作本地任务运行器。需要本机安装 Docker。
nektos/act72.3k