Docker Compose est un outil qui peut être utilisé pour définir et exécuter plusieurs conteneurs en tant que service unique. Avec Docker Compose, vous pouvez lier plusieurs conteneurs et déployer une application à partir d'une seule commande. Il est principalement utilisé dans l'environnement de développement, de test et de mise en scène. Docker Compose utilise un fichier YAML pour définir une pile complexe dans un fichier et l'exécuter avec une seule commande.
Dans ce tutoriel, nous allons vous montrer comment installer et utiliser Docker Compose dans CentOS 8.
Exigences
- Un serveur exécutant CentOS 8.
- Un mot de passe root est configuré sur le serveur.
Installer Docker
Avant de commencer, assurez-vous que Docker est installé sur votre serveur. S'il n'est pas installé, vous devrez ajouter le référentiel Docker-CE à votre système. Vous pouvez l'ajouter avec la commande suivante :
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Une fois le référentiel ajouté, installez la dernière version de docker à l'aide de la commande suivante :
dnf install docker-ce --nobest -y
systemctl start docker
systemctl enable docker
Vous pouvez vérifier la version de docker avec la commande suivante :
docker --version
Vous devriez voir le résultat suivant :
Docker version 19.03.5, build 633a0ea
Installer Docker Compose
Par défaut, Docker Compose n'est pas disponible dans le référentiel par défaut de CentOS 8. Vous devrez donc le télécharger depuis le dépôt Git.
Tout d'abord, installez la commande curl avec la commande suivante :
dnf install curl -y
Ensuite, téléchargez la dernière version de Docker Compose à partir du référentiel Git en utilisant curl comme indiqué ci-dessous :
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Une fois le téléchargement terminé, rendez le fichier binaire téléchargé exécutable avec la commande suivante :
chmod +x /usr/local/bin/docker-compose
Ensuite, vous pouvez vérifier la version de Compose à l'aide de la commande suivante :
docker-compose --version
Vous devriez voir le résultat suivant :
docker-compose version 1.25.0, build 0a186604
Vous pouvez voir toutes les options disponibles avec docker-compose en utilisant la commande suivante :
docker-compose --help
Vous devriez voir la page suivante :
Déployer Drupal avec Docker Compose
Dans cette section, nous allons vous montrer comment installer Drupal à l'aide de Docker Compose.
Commencez par créer un répertoire pour votre drupal avec la commande suivante :
mkdir drupal
Créez ensuite un fichier drupal.yaml dans le répertoire drupal :
nano drupal/docker-compose.yaml
Ajoutez le contenu suivant :
version: '3.3' services: drupal: image: drupal:latest ports: - 80:80 volumes: - drupal_modules:/var/www/html/modules - drupal_profiles:/var/www/html/profiles - drupal_themes:/var/www/html/themes - drupal_sites:/var/www/html/sites restart: always postgres: image: postgres:10 environment: POSTGRES_PASSWORD: your_postgres_password volumes: - db_data:/var/lib/postgresql/data restart: always volumes: drupal_modules: drupal_profiles: drupal_themes: drupal_sites: db_data:
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, changez le répertoire en drupal et démarrez votre conteneur Docker avec la commande suivante :
cd drupal
docker-compose up -d
La commande ci-dessus téléchargera et exécutera les conteneurs drupal et postgresql.
Vous pouvez vérifier vos conteneurs en cours d'exécution avec la commande suivante :
docker-compose ps
Vous devriez voir le résultat suivant :
Name Command State Ports ------------------------------------------------------------------------------- drupal_drupal_1 docker-php-entrypoint apac ... Up 0.0.0.0:80->80/tcp drupal_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
Maintenant, vous pouvez visiter l'URL http://your-server-ip pour accéder à l'assistant d'installation Web de Drupal comme indiqué ci-dessous :
Travailler avec Docker Compose
Dans cette section, nous allons vous montrer comment utiliser la commande docker-compose.
Pour arrêter les services Docker Compose, exécutez la commande suivante dans le répertoire drupal :
docker-compose stop
Vous devriez voir le résultat suivant :
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done
Pour démarrer les services Docker Compose, exécutez la commande suivante dans le répertoire Drupal :
docker-compose start
Pour afficher le journal des conteneurs, exécutez la commande suivante :
docker-compose logs
Pour afficher les journaux d'un conteneur spécifique, exécutez la commande suivante :
docker-compose logs drupal
Vous pouvez afficher votre fichier de configuration à l'aide de la commande suivante :
docker-compose config
Pour suspendre et réactiver les conteneurs, exécutez la commande suivante :
docker-compose pause
Sortie :
Pausing drupal_postgres_1 ... done Pausing drupal_drupal_1 ... done
docker-compose unpause
Sortie :
Unpausing drupal_drupal_1 ... done Unpausing drupal_postgres_1 ... done
Pour supprimer tous les conteneurs, exécutez la commande suivante :
docker-compose down
Vous devriez voir le résultat suivant :
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done Removing drupal_drupal_1 ... done Removing drupal_postgres_1 ... done Removing network drupal_default
Vous pouvez également supprimer les volumes de données à l'aide de la commande suivante :
docker-compose down --volumes
Vous devriez voir le résultat suivant :
Removing network drupal_default WARNING: Network drupal_default not found. Removing volume drupal_drupal_modules Removing volume drupal_drupal_profiles Removing volume drupal_drupal_themes Removing volume drupal_drupal_sites Removing volume drupal_db_data
Conclusion
Dans le didacticiel ci-dessus, nous avons appris à installer et à utiliser Docker Compose dans CentOS 8. J'espère que vous avez suffisamment de connaissances sur l'utilisation de la commande Docker Compose pour gérer les conteneurs Docker.