Skip to main content

Utilisation de Docker Compose

Docker Compose : orchestrer plusieurs conteneurs

Docker Compose permet de définir et gérer des applications multi-conteneurs à l’aide d’un fichier YAML.

Structure d’un fichier docker-compose.yml

Exemple avec WordPress et MariaDB :

services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: wp_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html
    depends_on:
      - db

  db:
    image: mariadb:latest
    container_name: wordpress_db
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: wp_password
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      - db_data:/var/lib/mysql

volumes:
  wordpress_data:
  db_data:

Commandes Docker Compose

Lancer les services définis dans le fichier :

$ docker compose up -d

Arrêter les services :

$ docker compose down

Voir l’état des services :

$ docker compose ps

Voir les logs :

$ docker compose logs
$ docker compose logs -f wordpress  # suivre un service spécifique

Reconstruire les images :

$ docker compose build

Mettre à jour les conteneurs avec les nouvelles images :

$ docker compose pull
$ docker compose up -d

Arrêter et supprimer les volumes

Pour supprimer également les volumes (données persistantes) :

$ docker compose down -v