Docker compose

From Teknologisk videncenter
Jump to: navigation, search

Versions

docker-compose vs. docker compose

The docker compose (with a space) is a newer project to migrate compose to Go with the rest of the docker project. This is the v2 branch of the docker/compos

root@ub1:/home/heth/# docker compose up
docker: 'compose' is not a docker command.

root@ub1:/home/heth/# apt install docker-compose-v2

Example: nginx, flask and mongo

Example from: https://github.com/docker/awesome-compose/tree/master/nginx-flask-mongo

file: compose.yaml

services:
  web:
    image: nginx
    volumes:
      - ./nginx/nginx.conf:/tmp/nginx.conf
    environment: 
      - FLASK_SERVER_ADDR=backend:9091  
    command: /bin/bash -c "envsubst < /tmp/nginx.conf > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" 
    ports:
      - 80:80
    depends_on:
      - backend

  backend:
    build:
      context: flask
      target: builder
    # flask requires SIGINT to stop gracefully
    # (default stop signal from Compose is SIGTERM)
    stop_signal: SIGINT
    environment:
      - FLASK_SERVER_PORT=9091
    volumes:
      - ./flask:/src
    depends_on:
      -  mongo  

  mongo:
    image: mongo

Links