Compose est un outil de définition et d’exécution d’applications Docker contenant plusieurs conteneurs.Avec Compose, on utilise un fichier YAML pour configurer les services de l'application, puis, avec une seule commande, pour créer et démarrer tous les services à partir d'une configuration.
Compose fonctionne dans tous les environnements: production, préparation, développement, tests, ainsi que des flux de travaux CI.
Utiliser Compose est fondamentalement un processus en trois étapes:
docker-compose up
pour démarrer et exécuter l'intégralité de l'application.Un fichier docker-compose.yml ressemble à ceci:
version: '3' services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {}
Compose propose des commandes permettant de gérer l’ensemble du cycle de vie de votre application:
Les caractéristiques de Compose qui le rendent efficace sont:
Compose utilise un nom de projet pour isoler les environnements les uns des autres et peut être utilisé dans plusieurs contextes différents:
Le nom de projet par défaut est le nom de base du répertoire de projet. On peut définir un nom de projet personnalisé à l'aide de l'option de ligne de commande -p
ou de la variable d'environnement COMPOSE_PROJECT_NAME
.
Lorsque le docker-compose s’exécute, il détecte les conteneurs des exécutions précédentes et copie les volumes de l’ancien conteneur dans le nouveau. Ce processus garantit que toutes les données créées dans les volumes N'est pas perdu.
Compose met en cache la configuration utilisée pour créer un conteneur. Lorsqu'on redémarre un service qui n'a pas changé, Compose réutilise les conteneurs existants. La réutilisation de conteneurs signifie que l'on peut modifier très rapidement un environnement.
Compose prend en charge les variables du fichier Compose que l'on peut utiliser pour personnaliser une composition pour différents environnements ou différents utilisateurs.
On peut étendre un fichier Compose à l'aide du champ extend
ou en créant plusieurs fichiers Compose (voir les extensions pour plus de détails).
Installer des packages supplémentaires pour Enterprise Linux
$ sudo yum install epel-release
Installer python-pip
$ sudo yum installer -y python-pip
Ensuite, installer Docker Compose:
$ sudo pip install docker-composer
Il faut également mettre à jour less paquets Python sous CentOS 7 pour que docker-compose s'exécute correctement:
$ sudo yum upgrade python*
Pour vérifier le succès de l'installation de Docker Compose, exécuter:
$ docker-compose la version