Outils pour utilisateurs

Outils du site


docker_compose

Ceci est une ancienne révision du document !


Docker compose

Docker compose est à la fois un programme docker compose et à la fois un fichier de configuration (en YAML).
L'idée est d'avoir une recette de cuisine contenue dans un fichier pour créer un service (qui peut faire appel à plusieurs containers : serveur web, bdd, … avec des montages de volumes bien définis). ça évite de faire des commandes CLI à rallonge.

Et ça épouse bien le cycle de vie d'un service sous Docker, qui consiste à séparer les données (volumes) de l'application (image), en faisant des containers qui suivent des cycles de création à partir de la dernière image de l'app dispo sur le web et de destruction du container, tout en conservant les données dans les volumes pour avoir une persistance de celles-ci.

Cela permet la manipulation de nombreux container en une simple commande (il faut suivre la recette du Compose file).

Fichier de configuration

Les règles pour

Docker compose CLI

Les versions

La première version était un executable à part, docker-compose.

Depuis, les fonctionnalités ont été intégrées à l'executable docker (écrit en Go ?), on a donc docker compose.
Etant donné que c'est la version référencée dans les docs officielles de docker, nous utiliserons celle-ci pour la suite)

CLI

# Executer les recettes du fichier dpcker-compose.yml du dossier actuel
# Créer et démarrer les containers
docker compose up
 
# Stop and remove containers, networks
docker compose down
 
# Start/stop services
docker compose start
docker compose stop
 
# -f : pour spécifier un ou plusieurs Compose files
docker compose -f compose_file_1.yaml -f compose_file_2.yml 
 
# -dry-run : pour voir ce que ça donne sans tout exectuer pour de vrai
docker compose --dry-run up

De nombreuses commande de docker sont aussi présentes pour docker compose, elles s'appliquent aux image/container/volume/network listés dans le Compose file (si j'ai bien compris). On listera : ls, logs, rm, volumes etc.

docker_compose.1754136132.txt.gz · Dernière modification : de luc