Docker Compose Cheatsheet

Multi-service setup example

services:
  zookeeper:
    image: debezium/zookeeper
    ports:
      - "2181:2181"
      - "2888:2888"
      - "3888:3888"
  kafka:
    image: debezium/kafka
    ports:
      - "9092:9092"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - "zookeeper"
  connect:
    image: debezium/connect
    ports:
      - "8083:8083"
    environment:
      - GROUP_ID=1 
      - CONFIG_STORAGE_TOPIC=my_connect_configs 
      - OFFSET_STORAGE_TOPIC=my_connect_offsets 
      - STATUS_STORAGE_TOPIC=my_connect_statuses
    depends_on:
      - "kafka"

Basic commands

## Launch containers
docker-compose up [-d] [--build]

## Launch and open interactive terminal
docker-compose run [SERVICE]

## Stop and remove containers
docker-compose down

## Stop without removing
docker-compose stop

Shell access to running containers

docker-compose exec [SERVICE_NAME] [TERMINAL]
## or
docker compose run --entrypoint /bin/sh [SERVICE_NAME]

[TERMINAL] can be sh, bash, cmd, powershell, etc.