# [Docker] Compose

## Introduction

Les **stacks** docker (ensemble de conteneurs) peuvent être gérées à travers compose ou docker-compose selon les appellations.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/scaled-1680-/b9fimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-04/b9fimage.png)

## Installation

Vous avez deux manières d'installer docker compose, soit via le plugin (recommandé) :

```bash
apt install -y docker-compose-plugin
```

Ou en téléchargeant le binaire :

```bash
curl -L https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
```

<p class="callout warning">Selon le type d'installation, il faudra utiliser la commande **docker compose** ou la commande **docker-compose**.</p>

## Utilisation

#### Fichier compose.yml

Voici un exemple de fichier **compose.yml** pour déployer un serveur web php.

```yaml
version: '3.9'
services:
  php: php:apache
  container_name: php
  environment:
  - PUID=1000
  - GUID=1000
  - TZ=Europe/Paris
  ports:
  - '80:80'
  - '443:443'
  volumes:
  - /website:/var/www/html
```

#### Lancer la stack

```bash
docker compose up -d
```