TP 4 : Réalisation d’une pile applicative#
1. Installation de docker-compose#
L’installation de docker-compose nécessite Python 3.
Sur Linux et MacOS, il est normalement préinstallé, sur Windows il faut l’installer en prenant garde de l’ajouter au PATH.
On peut ensuite installer docker-compose via la commande suivante :
# Ubuntu / MacOS
pip3 install docker-compose
# Windows
python -m pip install docker-compose
Et voilà ! L’utilitaire docker-compose est installé sur votre système.
2. Conception#
Nous ne traiterons ici que la version 3 des configurations docker-compose.
L’objectif de docker-compose est de regrouper la configuration d’une stack applicative sous la forme d’un ou plusieurs fichiers. Un fichier docker-compose est un fichier YAML composé de :
La version de docker-compose utilisée
Une section
networksUne section
volumesUne section
services
La référence complète des champs utilisables en docker-compose est disponible ici.
On peut ainsi reprendre l’infrastructure suivante :

Sous cette forme :
version: "3"
networks:
internal:
volumes:
pg-data:
services:
pg:
image: postgres:14-alpine
networks:
- internal
volumes:
- pg-data:/var/lib/postgresql/data
environment:
POSTGRES_USER: "admin"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "grp"
interface:
image: grp-api:latest
command: yarn run start:studio
environment:
DATABASE_URL: "postgresql://admin:password@pg:5432/grp?schema=public"
networks:
- internal
ports:
- "5555:5555"
Enregistrer le tout dans un fichier docker-compose.yml et exécuter la commande :
docker-compose up -d
Et enfin visiter le site localhost:5555 pour accéder à l’interface de gestion de la base de données.
Exercice#
Représenter l’infrastructure du TP3 sous la forme d’un fichier
docker-compose.yml. Pour rappel, l’architecture est la suivante :
