Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révisionLes deux révisions suivantes | |||
technique:tech_team:pres_compose [2021/10/16 20:04] – créée qduchemi | technique:tech_team:pres_compose [2021/10/17 03:23] – qduchemi | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
## C'est quoi Docker Compose ? | ## C'est quoi Docker Compose ? | ||
- | On l'a vu, Docker est assez simple d' | ||
- | |||
- | Cependant, sur une activité d' | ||
- | |||
- | Or, la configuration des volumes, des ports, des réseaux, etc, se fait au démarrage de chaque conteneur et n'est pas référencé dans l' | ||
- | |||
- | Ceci veut dire qu'à chaque démarrage de conteneur, il faudrait écrire des commandes à rallonge du type : | ||
- | |||
- | ```bash | ||
- | docker run -v < | ||
- | ``` | ||
- | |||
- | C'est inimaginable. | ||
- | |||
- | C'est pourquoi Docker Compose a vu le jour : c'est un système d' | ||
- | |||
- | Compose se base sur des fichiers écrits au format `YAML`, qui décrivent **comment** lancer les différents conteneurs. | ||
- | |||
- | Pour donner une intuition, voici un fichier `docker-compose.yml` fictif qui vise à faciliter l' | ||
- | |||
- | ```yaml | ||
- | version: ' | ||
- | |||
- | volumes: | ||
- | db: | ||
- | |||
- | networks: | ||
- | app: | ||
- | | ||
- | services: | ||
- | app: | ||
- | image: mattermost_app | ||
- | depends_on: mattermost_db | ||
- | ports: | ||
- | - 80:8080 | ||
- | networks: | ||
- | - app | ||
- | environment: | ||
- | ADMIN_PASSWORD: | ||
- | |||
- | db: | ||
- | image: postgres | ||
- | networks: | ||
- | - app | ||
- | environment: | ||
- | POSTGRES_PASSWORD: | ||
- | volumes: | ||
- | - db:/ | ||
- | ``` | ||
- | |||
- | Sans comprendre tous les éléments de syntaxe, on comprend que : | ||
- | |||
- | * `app` utilise l' | ||
- | * `db` utilise l' | ||
- | |||
- | < | ||
- | ```bash | ||
- | docker-compose up | ||
- | ``` | ||
- | </ | ||