Docker Compose — Verify Compose Installation

2 minute read

After installation, verify everything works correctly. This page walks you through a complete verification — from checking the version to running your first compose stack.


Step 1 — Check the Version

docker compose version

Expected output:

Docker Compose version v2.24.0

If you see docker: 'compose' is not a docker command, the plugin isn’t installed. Go back to Install Compose V2.


Step 2 — Check Docker Engine

Compose needs Docker Engine running:

docker info --format '{{.ServerVersion}}'

Expected output:

24.0.7

If Docker isn’t running, start it:

# Linux
sudo systemctl start docker

# Mac/Windows — open Docker Desktop

Step 3 — Run a Test Stack

Create a temporary directory and test compose:

mkdir -p /tmp/compose-test && cd /tmp/compose-test

Create a minimal compose.yml:

cat > compose.yml << 'EOF'
services:
  hello:
    image: alpine:latest
    command: echo "Docker Compose is working!"
EOF

Run it:

docker compose up

Expected output:

[+] Running 2/2
 ✔ Network compose-test_default    Created
 ✔ Container compose-test-hello-1  Created
Attaching to hello-1
hello-1  | Docker Compose is working!
hello-1 exited with code 0

Clean up:

docker compose down
cd ~ && rm -rf /tmp/compose-test

Step 4 — Check Plugin Location

See where the Compose plugin is installed:

# On Linux/Mac
ls -la ~/.docker/cli-plugins/docker-compose 2>/dev/null || \
ls -la /usr/libexec/docker/cli-plugins/docker-compose 2>/dev/null || \
echo "Check Docker Desktop installation"

Step 5 — List Available Commands

docker compose --help

Expected output (abbreviated):

Usage:  docker compose [OPTIONS] COMMAND

Define and run multi-container applications with Docker

Commands:
  build       Build or rebuild services
  config      Parse, resolve and render compose file
  cp          Copy files/folders between service and local filesystem
  down        Stop and remove containers, networks
  events      Receive real time events from containers
  exec        Execute a command in a running container
  logs        View output from containers
  ls          List running compose projects
  pause       Pause services
  ps          List containers
  pull        Pull service images
  push        Push service images
  restart     Restart service containers
  rm          Removes stopped service containers
  run         Run a one-off command on a service
  start       Start services
  stop        Stop services
  top         Display the running processes
  up          Create and start containers
  version     Show the Docker Compose version
  watch       Watch build context for service and rebuild/refresh

Troubleshooting Installation

Problem Solution
'compose' is not a docker command Install the compose plugin
permission denied on Linux Add user to docker group: sudo usermod -aG docker $USER
Old version (< 2.20) Update Docker Desktop or reinstall the plugin
Cannot connect to Docker daemon Start Docker: sudo systemctl start docker

Summary

Check Command Expected
Version docker compose version v2.20+
Docker running docker info Server version shown
Test stack docker compose up “working!” message
Help docker compose --help Command list

Quick Reference

Item Detail
Version check docker compose version
Docker check docker info
Test stack Create compose.yml with alpine echo test
Plugin path ~/.docker/cli-plugins/docker-compose
Help system docker compose –help
Subcommand help docker compose up –help