Bollard is a production-ready Rust library that gives you full programmatic access to the Docker and Podman container runtimes. Built on Hyper and Tokio, it exposes a fully async API covering containers, images, networks, volumes, Swarm orchestration, and BuildKit image builds — all as native Rust futures and streams.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fussybeaver/bollard/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Get Bollard installed and make your first API call in minutes
Installation
Add Bollard to your Cargo.toml with the right feature flags
Connecting
Connect via Unix socket, HTTP, SSL/TLS, SSH, or Podman
API Reference
Complete reference for every method on the Docker client
What Bollard Covers
Bollard wraps the Docker Engine API v1.52/1.53, giving you Rust-native access to every Docker resource:Containers
Create, start, stop, inspect, exec, and stream logs
Images
Pull, build, tag, push, and export images
Networks & Volumes
Manage bridge networks, overlays, and named volumes
BuildKit
Advanced multi-stage builds via gRPC and BuildKit
Swarm
Orchestrate services, nodes, tasks, secrets, and configs
Error Handling
Typed errors for robust production code
Get Running in 3 Steps
Transport Options
Bollard supports every connection mode Docker exposes:| Transport | Feature Flag | Use Case |
|---|---|---|
| Unix socket / Named pipe | pipe (default) | Local Docker on Linux/macOS/Windows |
| HTTP/TCP | http (default) | Remote Docker via DOCKER_HOST |
| HTTPS via Rustls | ssl | Secure remote Docker |
| SSH tunnel | ssh | Remote Docker over SSH |
| Podman socket | pipe (default) | Local or rootless Podman |
The default feature set (
http + pipe) covers most use cases. Add ssl, ssh, or buildkit only as needed to keep your binary lean.