Compose

Cheatsheet · la partition de l'application Semaine 3 · Module 1
évolutif

Lever et piloter

docker compose up -d

Tout démarre dans le bon ordre : réseau, volumes, conteneurs.

docker compose ps

L'état des services de la partition.

docker compose logs

Les journaux de tous les services réunis.

docker compose stop

La pause : arrête les conteneurs, sans rien supprimer.

Ranger, remettre à zéro

docker compose down

Le rangement : supprime conteneurs et réseau, GARDE les volumes.

docker compose down --volumes

L'incendie volontaire : supprime AUSSI les données. La remise à zéro complète.

La nuance stop / down / down --volumes est une question d'examen classique : une pause, un rangement, un incendie.

Les volumes nommés

docker volume ls

Les volumes existants sur la machine.

docker volume create mon-volume docker volume inspect mon-volume

Créer, puis voir où vivent vraiment les données.

docker volume rm mon-volume

Effacer un volume (ses données avec).

Les clés secrètes

MYSQL_PASSWORD=trefle-a-quatre-feuilles

Le fichier .env garde les secrets à part : la partition reste publiable, les clés restent privées.

environment: MYSQL_PASSWORD: ${MYSQL_PASSWORD}

La partition lit la variable sans jamais contenir le mot de passe.

Règle du cours : jamais de vrai mot de passe dans un docker-compose.yml remis ou versionné.

Déclaratif : décrire, pas commander

On ne dit plus comment faire étape par étape : on décrit l'état voulu et Compose s'arrange pour y arriver. La recette est un fichier texte : on la versionne, on la partage, on la relit. Un service = un conteneur, et les services se trouvent entre eux par leur nom (WORDPRESS_DB_HOST: basededonnees). Les musiciens changent, la partition reste : c'est elle, le vrai capital.

La partition · anatomie d'un docker-compose.yml

services: web: image: wordpress ports: - 8082:80 volumes: - ./wordpress:/var/www/html environment: WORDPRESS_DB_HOST: basededonnees depends_on: - basededonnees basededonnees: image: mysql:8.0
services: un service = un conteneur image: la recette de base ports: redirection hôte:conteneur volumes: ce qui survit environment: la configuration depends_on: l'ordre de démarrage

En YAML, l'indentation est la grammaire : deux espaces, jamais de tabulations. La moitié des bogues de la semaine seront des problèmes d'indentation.

Partition : le docker-compose.yml, la recette complète. Service : un conteneur décrit dans la partition. Déclaratif : décrire l'état voulu, pas les étapes. .env : les secrets, à part et non versionnés. Volume nommé : les données qui survivent au down.

420-5A4-MT · Serveurs évolutifs · cliquer une commande la copie