docker_compose
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| docker_compose [2025/08/02 16:26] – luc | docker_compose [2025/09/09 09:15] (Version actuelle) – luc | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| ===== Fichier de configuration ===== | ===== Fichier de configuration ===== | ||
| + | |||
| + | [[https:// | ||
| Contient les règles pour décrire le service que l'on souhaite. Il peut être composé de plusieurs containers, de volumes et de networks. | Contient les règles pour décrire le service que l'on souhaite. Il peut être composé de plusieurs containers, de volumes et de networks. | ||
| Ligne 18: | Ligne 20: | ||
| On trouve plusieurs infos sur la structure d'un Compose file. La spécification a évoluée, et certains directives (comme top-level version) sont obsolètes. Je ne vais lister ici que ce qui est à jour à la date de création de cet article (2/ | On trouve plusieurs infos sur la structure d'un Compose file. La spécification a évoluée, et certains directives (comme top-level version) sont obsolètes. Je ne vais lister ici que ce qui est à jour à la date de création de cet article (2/ | ||
| - | === top-level instructions | + | === Elements de config |
| (/!\ orthographe et casse) | (/!\ orthographe et casse) | ||
| - | > '' | ||
| - | > '' | + | Top-level |
| - | >> Peut contenir une section '' | + | |
| - | >> Peut contenir des attributs pour définir le comportement des services | + | |
| - | > '' | + | * '' |
| - | >> Pour utiliser un volume dans plusieurs services, il faut que chacun l'exprime explicitement dans l'attribut | + | |
| - | >> L' | + | |
| - | > '' | + | * '' |
| - | >> | + | * Contient donc des containers, qui sont définis par des arguments: |
| - | >> | + | * Peut contenir une section '' |
| - | >> | + | * '' |
| - | >> | + | * '' |
| + | * '' | ||
| + | * '' | ||
| + | * HOST is [IP:](port | range) (optional). If it is not set, it binds to all network interfaces (0.0.0.0). | ||
| + | * CONTAINER is port | range. | ||
| + | * PROTOCOL restricts ports to a specified protocol either tcp or udp(optional). Default is tcp. | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | * '' | ||
| + | * Pour utiliser un volume dans plusieurs services, il faut que chacun l' | ||
| + | * L' | ||
| + | |||
| + | * '' | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| === Exemple === | === Exemple === | ||
| Ligne 46: | Ligne 61: | ||
| networks: | networks: | ||
| - network_name_1 | - network_name_1 | ||
| + | secrets: | ||
| + | - secret_name_1 | ||
| | | ||
| nom_container_2: | nom_container_2: | ||
| Ligne 51: | Ligne 68: | ||
| volumes: | volumes: | ||
| - volume_name_1:/ | - volume_name_1:/ | ||
| + | ports: | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | |||
| + | nom_container_3: | ||
| + | image: example/ | ||
| + | links: | ||
| + | - nom_container_1 | ||
| + | restart: always | ||
| networks: | networks: | ||
| Ligne 58: | Ligne 88: | ||
| volume_name_1: | volume_name_1: | ||
| external: true | external: true | ||
| + | |||
| + | secrets: | ||
| + | secret_name_1: | ||
| + | file: / | ||
| </ | </ | ||
| Ligne 76: | Ligne 110: | ||
| # Executer les recettes du fichier dpcker-compose.yml du dossier actuel | # Executer les recettes du fichier dpcker-compose.yml du dossier actuel | ||
| # Créer et démarrer les containers | # Créer et démarrer les containers | ||
| - | docker compose up | + | docker compose up --detach |
| + | # --detach pour lancer en arrière plan | ||
| # Stop and remove containers, networks | # Stop and remove containers, networks | ||
| Ligne 96: | Ligne 131: | ||
| De nombreuses commande de '' | De nombreuses commande de '' | ||
| + | |||
| + | ===== Définir des variables d' | ||
| + | |||
| + | Parfois, certaines valeurs du docker compose file sont reprises à plusieurs endroits, et il fait sens de regrouper ces valeurs dans un fichier '' | ||
| + | |||
| + | === Fichier .venv === | ||
| + | |||
| + | Le fichier '' | ||
| + | Le contenu du fichier est une liste de paramètres, | ||
| + | <code properties> | ||
| + | # Des lignes commentaires précédées d'un "#" | ||
| + | # | ||
| + | TAG=15-slim | ||
| + | OPENPROJECT_HTTPS=false | ||
| + | OPENPROJECT_HOST__NAME=localhost | ||
| + | PORT=127.0.0.1: | ||
| + | PGDATA="/ | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | <code properties> | ||
| + | web: | ||
| + | environment: | ||
| + | - DEBUG=${DEBUG} | ||
| + | </ | ||
| + | |||
| + | Note: Dans la version docker CLI, on passe les variables avec l' | ||
| + | |||
| + | === Interpolation === | ||
| + | L' | ||
| + | * Direct substitution | ||
| + | * '' | ||
| + | * Default value | ||
| + | * '' | ||
| + | * '' | ||
| + | * Required value | ||
| + | * '' | ||
| + | * '' | ||
| + | * Alternative value | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
docker_compose.1754151985.txt.gz · Dernière modification : de luc
