Mise sous Docker Compose

Dans la première partie de ce cours, nous avions démarré une base de donnée PostgreSQL dans un conteneur, sur un réseau spécifique. Pour rappel la commande était la suivante :

1
docker run -d --name pg-test -e POSTGRES_DB=prism -e POSTGRES_USER=snowden -e POSTGRES_PASSWORD=nsa -v /root/bdd:/var/lib/postgresql/data --net pg-net postgres

Question

À l'aide de cette commande et des connaissances acquises sur Docker Compose, écrivez un fichier Docker Compose qui permette de démarrer ce service. On considère que le réseau pg-net existe déjà sur l'hôte.

Solution

Voici un fichier docker-compose.yml qui définit un service bdd qui va démarrer le conteneur de la même manière que la commande ci-dessus :

1
version: '3'
2
services:
3
  bdd:
4
    image: postgres 
5
    container_name: pg-test
6
    environment:
7
      POSTGRES_DB: prism
8
      POSTGRES_USER: snowden
9
      POSTGRES_PASSWORD: nsa
10
    volumes:
11
      - /root/bdd:/var/lib/postgresql/data
12
    networks:
13
      - pg-net
14
15
networks:
16
  pg-net:
17
    external: true