Difference between revisions of "Docker compose"

From Teknologisk videncenter
Jump to: navigation, search
(Created page with "== 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 i...")
 
m
 
Line 9: Line 9:
 
root@ub1:/home/heth/# apt install docker-compose-v2
 
root@ub1:/home/heth/# apt install docker-compose-v2
 
</source>
 
</source>
 +
== Example: nginx, flask and mongo ==
 +
Example from: https://github.com/docker/awesome-compose/tree/master/nginx-flask-mongo
  
 +
file: compose.yaml
 +
<source lang=bash>
 +
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
 +
</source>
 
=Links=
 
=Links=
 
*https://github.com/docker/awesome-compose
 
*https://github.com/docker/awesome-compose
  
 
[[Category:Docker]]
 
[[Category:Docker]]

Latest revision as of 07:57, 24 September 2024

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