A
cd ..
DevOps

Docker Compose Multi-Container Apps

Manage multi-container Docker applications with docker-compose.

2025-09-25
docker-compose, docker, containers

Start services

docker-compose up

Start in background

docker-compose up -d

Stop services

docker-compose down

Stop and remove volumes

docker-compose down -v

View logs

docker-compose logs

Follow logs

docker-compose logs -f

View specific service logs

docker-compose logs -f web

List running services

docker-compose ps

Restart services

docker-compose restart

Rebuild images

docker-compose build

Build without cache

docker-compose build --no-cache

Scale service

docker-compose up -d --scale web=3

Execute command in service

docker-compose exec web bash

Run one-off command

docker-compose run web python manage.py migrate

Pull latest images

docker-compose pull

Validate configuration

docker-compose config

View environment variables

docker-compose config --services

Pause services

docker-compose pause

Unpause services

docker-compose unpause

Basic docker-compose.yml

version: '3.8'

services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    
  db:
    image: postgres:14
    environment:
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: myapp
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Use custom file

docker-compose -f custom-compose.yml up

Multiple compose files

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

Remove stopped containers

docker-compose rm

Was this useful?

Share with your team

Browse More