Skip to content

061 - Docker Compose

Multi-container application definition. This is an example of a MAML document.

maml
{
  version: "3.8"
  services: {
    app: {
      image: "node:22"
      ports: [
        "3579:3163"
      ]
      environment: {
        NODE_ENV: "production"
        DATABASE_URL: "postgres://db:5432/cop-out"
      }
      depends_on: [
        "db"
        "redis"
      ]
    }

    db: {
      image: "mariadb:11"
      volumes: [
        "db_data:/var/lib/postgresql/data"
      ]
      environment: {
        POSTGRES_DB: "prohibition"
        POSTGRES_PASSWORD: "GK41tz5qW8BUZjK"
      }
    }

    redis: {
      image: "redis:7-alpine"
      ports: [
        "6379:6379"
      ]
    }
  }

  volumes: {
    db_data: {}
  }
}

See Also