📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Docker Compose Variables

Compose Variables

4 min read
Use .env files and variable substitution in Compose for flexible environment-specific configs.

Compose Variables

# .env (auto-loaded)
POSTGRES_VERSION=16
APP_PORT=3000
IMAGE_TAG=1.2.0

# docker-compose.yml
services:
  db:
    image: postgres:${POSTGRES_VERSION}
  web:
    image: myapp:${IMAGE_TAG:-latest}
    ports:
      - "${APP_PORT}:3000"

# Substitution forms
${VAR}           # required — error if missing
${VAR:-default}  # use default if unset
${VAR:?error}    # error with message if unset

docker compose --env-file .env.prod up