Docker Compose
Le fichier compose.yaml et ses clés (services, image, build, ports, environment, volumes, depends_on, networks, restart, healthcheck), le réseau par défaut et la résolution par nom de service, les commandes up, down, ps, logs et exec.
- 25 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
- Comprendre
Quelques cartes du deck
Docker Compose : de quoi s'agit-il ?
Voir la réponse
Outil qui décrit dans un seul fichier plusieurs conteneurs formant une application, avec leurs réseaux et leurs volumes, et les pilote d'une seule commande.
Il remplace une pile de longues commandes
docker runpar un fichier versionné :docker compose up -dsuffit pour tout démarrer.Quelle commande démarre en arrière-plan tous les services du fichier ?
docker compose up -ddocker compose start -ddocker compose run -ddocker compose build -d
Voir la réponse
docker compose up -dupcrée (réseau, volumes, conteneurs) puis démarre ;-drend la main.startne relance que des conteneurs déjà créés, etbuildne fabrique que des images.docker compose downsupprime les conteneurs et le réseau ; ajouter l'option … supprime aussi les … déclarés dans le fichier.Voir la réponse
docker compose downsupprime les conteneurs et le réseau ; ajouter l'option -v supprime aussi les volumes déclarés dans le fichier.Sans
-v, les données des volumes nommés survivent à undown: c'est ce qui permet de recréer l'application sans perdre la base.compose.yaml : de quoi s'agit-il ?
Voir la réponse
Fichier YAML dont la clé racine
servicesliste les conteneurs de l'application, chacun avec son image, ses ports, ses variables et ses volumes.En YAML, la structure vient de l'indentation, avec des espaces et jamais de tabulations : un décalage de deux espaces change le sens ou rend le fichier invalide.
L'API rend
connect ECONNREFUSED 127.0.0.1:5432alors que le conteneurdbtourne. Quelle est la cause probable, et la solution ?- Le port 5432 n'est pas publié ; ajouter
ports: ["5432:5432"]au servicedb - L'API vise
localhost, donc elle-même ; remplacer l'hôte par le nom du service,db - La base n'est pas sur le même réseau que l'API ; déclarer un réseau
backendpour chacun - L'API démarre trop vite ; ajouter
restart: alwayspour qu'elle réessaie
Voir la réponse
L'API vise
localhost, donc elle-même ; remplacer l'hôte par le nom du service,db127.0.0.1 est l'adresse du conteneur de l'API. Entre services Compose, il n'y a pas besoin de publier de port : le réseau par défaut les relie, et seul le nom de service permet de se joindre.
- Le port 5432 n'est pas publié ; ajouter