Skip to content

Docker Compose

Docker Compose is a tool for defining and managing multi-container Docker applications using a YAML configuration file. Instead of manually running multiple docker run commands

docker-compose vs docker compose

docker-compose is the original command, docker compose is the new command. The new command is available in Docker 1.29 and later.

Usage

docker compose -f docker-compose.yml up
docker compose -f docker-compose.yml run <service_name> <command>

compose override

Docker Compose override is a feature that lets you customize or extend a base docker-compose.yml file using additional YAML files like docker-compose.override.yml

For example run nvidia support on pc and nvidia jetson

docker-compose.yaml
1
2
3
4
5
6
7
8
services:
  dev:
    image: your-gpu-app:latest
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
docker-compose.jetson.yaml
1
2
3
4
5
6
services:
  dev:
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=compute,utility
docker compose -f docker-compose.yml -f docker-compose.jetson.yml up

References