Aller au contenu

Déployer avec Docker Compose

Docker Compose c'est le gars à qui vous faites appel lorsque votre application a plusieurs composantes qui sont déployées dans différents conteneurs. Pour des questions d'organisation et pour faciliter la maintenance l'utiulisation de Docker Compose est vivement recommandée.

Docker Compose est un outil qui permet de gérer plusieurs conteneurs.

Motivations

Les applications modernes sont de plus en plus complexes et sont organisées en plusieurs composantes plus ou moins indépendantes. Prenons l'exemple d'un site de e-commerce, elle a trois composantes, le backend, le frontend et la base de données. Chacune de ces composantes est déployée dans un conteneur Docker.

docker-compose.yaml

docker-compose.yaml est une sorte de fichier de configuration semblable au Dockerfile. Il décrit le comportement des différents conteneurs ainsi que les pinteractions entres ces derniers.

version: '3'
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress

volumes:
  db_data: {}

Déployer les conteneurs

Pour déployer les conteneurs, placez vous dans le dossier que le fichier docker-compose.yaml et exécutez la commande suivante

docker compose up -d
L'option -d pour --detach fonctionne de la même manière qu'avec docker run, cela permet de lancer en arrière-plan.

Arrêter les conteneurs

Pour arrêter les conteneurs, il faut exécuter la commande suivante

docker compose down
L'ensemble des conteneurs est arrêté.