liveBook · Manning

Docker Compose

Docker Compose is a tool for defining and running applications composed of multiple containers through declarative configuration.

How 15 Manning books explain it

Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform

A Docker Compose file is a declarative configuration file that defines the services, containers, images, and related settings for a multi-container application.

How it is used
Runs and manages a multi-container microservices application for local development and testing.
How deep it goes
Works from a single-service YAML file through added services, lifecycle commands, and live-reload volumes; defers production orchestration to Kubernetes.
Examples
Uses a video-streaming service, a storage service, a MongoDB container, command listings, and a live-reload configuration.
What you can do after
Build it from scratch as a local Compose application, then start, inspect, and shut down its containers with `docker compose`.

Read how Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform explains Docker Compose →

Learn Docker in a Month of Lunches, Second Edition

Docker Compose is a Docker tool for defining and running multi-container applications from a declarative configuration file.

How it is used
Defines and runs multi-container applications on one Docker Engine, including development, nonproduction environments, and local CI/CD smoke tests.
How deep it goes
Works through YAML structure, service options, lifecycle commands, scaling, projects, and environment overrides; distinguishes applying desired state from continuous reconciliation.
Examples
Uses a single-service to-do app, a three-service image gallery, scaled API containers, and development and test configuration overrides.
What you can do after
Operate/configure it to launch, inspect, scale, and recreate an app while varying project names and settings across environments.

Read how Learn Docker in a Month of Lunches, Second Edition explains Docker Compose →

Road to Kubernetes

The Docker Compose plugin is a Docker CLI extension that provides Docker Compose commands for defining and running multi-container applications.

How it is used
Replaces hard-to-remember Docker runtime arguments with repeatable configuration for local and virtual-machine container deployments.
How deep it goes
Works through service configuration, commands, networking, state, and deployment steps, then identifies scaling limits rather than covering every customization.
Examples
Uses Python and Node.js applications, plus NGINX and Redis services, to show configuration, communication, and production deployment.
What you can do after
Operate/configure Docker Compose to build, start, stop, and connect services locally, then deploy tagged images on a virtual machine.

Read how Road to Kubernetes explains Docker Compose →

Rust Servers, Services, and Apps

Docker Compose is a tool for defining and operating multi-container applications from a declarative configuration.

How it is used
Coordinates the database and Rust web-service containers during packaging and deployment.
How deep it goes
Works through YAML services and build, startup, networking, and request checks; leaves broader production operations outside scope.
Examples
Uses a two-service docker-compose.yml, Compose commands, network inspection, and a curl request returning database-backed records.
What you can do after
Operate/configure a Rust API and Postgres stack with Docker Compose, then verify connectivity and an HTTP response.

Read how Rust Servers, Services, and Apps explains Docker Compose →

Build Financial Software with Generative AI (From Scratch)

Docker Compose is a tool for defining and running multi-container Docker applications from a declarative configuration file.

How it is used
Coordinates API, database, dashboard, and support containers from a centralized declarative configuration.
How deep it goes
Walks through incremental service definitions, builds, ports, variables, dependencies, startup commands, and common connection failures.
Examples
Uses CloudBeaver and PostgreSQL containers, a FastAPI API, and a dashboard configured with a WireMock API URL.
What you can do after
Operate/configure it to build, start, expose, connect, and troubleshoot a small multi-container application.

Read how Build Financial Software with Generative AI (From Scratch) explains Docker Compose →

Kubernetes for Developers

A Docker Compose file is a declarative configuration file that defines the services, images, and settings for a Docker Compose application.

How it is used
Provides a repeatable local environment for testing a containerized application and a handful of dependent services before Kubernetes deployment.
How deep it goes
Works through single-service setup, bind mounts, and multiple services, while leaving production orchestration to Kubernetes.
Examples
Uses a Python web server with port mapping, a locally mounted source folder, and a separate MySQL container.
What you can do after
Operate/configure it to build and run local services with saved settings and edit mounted application files without rebuilding the image.

Read how Kubernetes for Developers explains Docker Compose →

Quarkus in Action

Docker Compose is a tool for defining and running multi-container applications from a declarative configuration file.

How it is used
Deploys multiple production-oriented infrastructure providers together for a locally run microservice application.
How deep it goes
Shows file-based deployment, startup and teardown commands, container inspection, and configuration changes, but not Compose syntax internals.
Examples
Uses an infrastructure Compose file, twelve named containers, and explicit startup and shutdown commands.
What you can do after
Operate/configure a multi-container infrastructure deployment with the Docker Compose command-line interface.

Read how Quarkus in Action explains Docker Compose →

AI Agents in Action, Second Edition

Docker Compose is a tool for defining and running multi-container applications from a declarative configuration file.

How it is used
Orchestrates multi-agent microservice stacks locally through one declarative deployment and lifecycle command.
How deep it goes
Defines services, builds, ports, environment variables, and dependencies, but does not detail container networking internals.
Examples
Uses a three-container agent stack, docker-compose.yaml, .env configuration, localhost:8000, logs, and optional localtunnel demos.
What you can do after
Operate/configure a local multi-agent stack by preparing environment variables, building services, checking routing, viewing logs, and stopping containers.

Read how AI Agents in Action, Second Edition explains Docker Compose →

Architecting an Apache Iceberg Lakehouse

Docker Compose is a tool for defining and running multi-container applications from a declarative configuration file.

How it is used
Orchestrates a complete local Apache Iceberg lakehouse for development, testing, and hands-on integration.
How deep it goes
Defines images, containers, networks, ports, credentials, and startup commands, then verifies runtime status without detailing production deployment.
Examples
Uses a docker-compose.yml file, six service containers, mapped ports, a shared network, and docker ps verification.
What you can do after
Operate/configure a local lakehouse whose services ingest, catalog, store, query, and visualize Iceberg data.

Read how Architecting an Apache Iceberg Lakehouse explains Docker Compose →

ScyllaDB in Action

Docker Compose is a tool for defining and running applications composed of multiple Docker containers.

How it is used
Coordinates multiple containers for monitoring deployment and ScyllaDB cluster rebuilding.
How deep it goes
Explains compose files, shared networking, configuration mapping, and startup commands, but does not detail Compose file syntax.
Examples
Uses compose.yml files and docker compose up --detach to launch monitoring services or rebuild a three-node cluster.
What you can do after
Operate multi-container monitoring services and recreate a ScyllaDB cluster with docker compose up --detach.

Read how ScyllaDB in Action explains Docker Compose →

Data Pipelines with Apache Airflow, Second Edition

Docker Compose is a tool for defining and managing multicontainer Docker applications using configuration files.

How it is used
Defines and runs reproducible multicontainer Airflow and data-pipeline environments through YAML service configurations.
How deep it goes
Explains YAML configuration, service composition, overrides, startup commands, exposed services, and container inspection, without detailing Compose internals.
Examples
Uses Airflow deployment commands and an NYC transportation pipeline with databases, APIs, object storage, file serving, and a web page.
What you can do after
Operate/configure Docker-based Airflow and data-pipeline environments, start their services, and inspect running containers.

Read how Data Pipelines with Apache Airflow, Second Edition explains Docker Compose →

Build Python Web Apps with Streamlit

Docker Compose is a Docker tool for defining and running applications composed of one or more containers through declarative configuration.

How it is used
Simplifies repeatable Docker startup for applications whose build, port, and volume options would otherwise require lengthy commands.
How deep it goes
Defines services and runtime settings through YAML, but does not descend into Docker Compose internals or multi-service orchestration.
Examples
Uses a fact-frenzy-app service, port mapping 8502:8501, and a .streamlit volume mounted into the container.
What you can do after
Operate/configure a Dockerized Streamlit app through docker-compose.yml and start it with docker-compose up.

Read how Build Python Web Apps with Streamlit explains Docker Compose →

gRPC Microservices in Go

A Docker Compose file is a YAML configuration file that defines and configures multi-container Docker applications and their services.

How it is used
Orchestrates a repeatable multi-container environment for microservice end-to-end tests.
How deep it goes
Defines YAML structure, service fields, health checks, database initialization, and service-specific configuration.
Examples
Uses MySQL 8.0.30, mounted SQL initialization, payment and order services, exposed ports, and Docker Compose CLI commands.
What you can do after
Operate a configured test stack through Docker Compose with service dependencies, readiness checks, mounted resources, and runtime settings.

Read how gRPC Microservices in Go explains Docker Compose →

Server-Side WebAssembly

Docker Compose is a tool for defining and managing applications composed of multiple Docker containers.

How it is used
Orchestrates the containers required to run a local wasmCloud ecosystem.
How deep it goes
Explains service definitions, dependencies, networking, environment variables, deployment commands, and HTTP verification.
Examples
Uses docker-compose.yaml, wadm.yaml, NATS, a wasmCloud host, an HTTP component, and a curl response.
What you can do after
Operate/configure a local wasmCloud deployment with Docker Compose and verify its HTTP endpoint.

Read how Server-Side WebAssembly explains Docker Compose →

Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more

Docker Compose is a tool for defining and running multi-container applications.

How it is used
Orchestrates multiple containers on one node through YAML and a Docker-compatible Podman service.
How deep it goes
Explains installation, socket setup, YAML definition, launch, inspection, stopping, and teardown.
Examples
Uses a web service with an image, bind mount, named volume, port mapping, and Podman inspection commands.
What you can do after
Operate multi-container applications through docker-compose against a rootless or rootful Podman socket.

Read how Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more explains Docker Compose →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.