# Installer Docker Compose sous Ubuntu

L’outil Compose de Docker est un outil idéal pour travailler dans le **développement et les environnements de test**, mais aussi pour les petites applications de production. Cet article explique comment orchestrer facilement des applications Docker avec Compose sous Ubuntu.

## Docker Compose sous Ubuntu : prérequis

Avant de pouvoir [utiliser Docker Compose](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/tutoriel-docker-compose/), assurez-vous que votre système remplit bien les conditions suivantes :

- **Docker Engine** : comme Compose est une extension de Docker Engine, vous devez l’installer ;
- **Système d’exploitation** : Ubuntu, utilisateur sudo avec privilèges root.

Conseil Vous souhaitez utiliser un système d’exploitation autre que Linux ? Consultez notre guide pour savoir comment installer [Docker Compose sur Windows](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/docker-compose-sous-windows/) et [Docker Compose sur macOS](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/docker-compose-sur-mac/).

## Installer Docker Compose sur Ubuntu étape par étape

Pour utiliser Docker Compose sur Ubuntu, vous devez d’abord installer le **Docker Engine** sur votre système et vérifier qu’il s’exécute correctement. Une fois que Docker fonctionne, téléchargez Compose et créez le fichier YAML pour configurer vos applications.

### Étape 1 : télécharger et installer Docker Compose

Téléchargez la dernière version de Docker Compose depuis le dépôt officiel **GitHub** en tapant la commande suivante dans un terminal :

```shell
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
```

Vous devez ensuite accorder à Docker Compose les **droits d’exécution** :

```shell
$ sudo chmod +x /usr/local/bin/docker-compose
```

L’option « --version » permet de vérifier que Compose a bien été installé correctement.

```shell
$ docker-compose --version
```

Voici la sortie affichée :

[![Image: Version de Compose Docker](https://www.ionos.com/fr-be/digitalguide/fileadmin/_processed_/b/1/csm_docker-compose-version-ubuntu_428c28abad.webp "Version de Compose Docker")](https://www.ionos.com/fr-be/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-version-ubuntu.png) Si Docker Compose est bien installé, le système affiche le numéro de version. Si l’installation échoue, jetez un œil au chemin d’accès et vérifiez que c’est le bon.

Il est aussi possible de créer un **lien symbolique** vers le chemin */usr/bin* :

```shell
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```

### Étape 2 : configurer le fichier docker-compose.yml

Pour expliquer la conception d’un fichier **Docker-Compose-YAML**, nous utilisons l’image Nginx du hub officiel de Docker pour l’environnement de conteneur.

Créez d’abord un nouveau dossier dans votre répertoire personnel :

```shell
$ mkdir ~/compose-test
```

Allez dans le répertoire et créez-y un nouveau dossier pour le répertoire root de votre environnement **Nginx**.

```shell
$ cd ~/compose-test
$ mkdir app
```

Vous pouvez passer par n’importe quel éditeur de texte comme **nano** pour créer un *index.html*.

```shell
$ nano app/index.html
```

Voici le code HTML d’une page test :

```html
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>This is a Docker Compose Test Page for an Nginx container.</h1>
<div class="hash d-none" hidden>hash_b82921e585872321497e0d84b8da1e1981e3b87d</div><script data-shy-copy-guard>(function(){var C=[0x00AD,0x200B,0x200C,0x200D,0x2060,0xFEFF];var s=function(t){for(var i=0;i<C.length;i++){t=t.split(String.fromCharCode(C[i])).join("");}return t;};document.addEventListener("copy",function(e){var sel=document.getSelection();if(!sel||sel.isCollapsed||!e.clipboardData){return;}e.clipboardData.setData("text/plain",s(sel.toString()));try{var d=document.createElement("div");d.appendChild(sel.getRangeAt(0).cloneContents());e.clipboardData.setData("text/html",s(d.innerHTML));}catch(x){}e.preventDefault();});})();</script></body>
</html>
```

Sauvegardez et fermez le fichier HTML puis créez ensuite *docker-compose.yml*.

```shell
$ nano docker-compose.yml
```

Les contenus se composent du numéro de version de la configuration et du bloc Services.

```YAML
version: ‘3.9’
services:
    web:
        image: nginx:alpine
        ports:
            - "8000:80"
        volumes:
- ./app:/usr/share/nginx/html
```

Dans le bloc Services, seul le service « web » est listé. Viennent ensuite l’image Nginx utilisée et la redirection de port. Dans ce cas, toutes les requêtes sur le port 8000 de la machine hôte sont redirigées vers le conteneur Web sur le port 80, sur lequel Nginx est exécuté. En outre, nous utilisons un **volume partagé entre l’hôte et le conteneur** qui permet à l’application Nginx d’accéder au dossier local « app ».

### Étape 3 : exécuter Docker Compose

La commande suivante permet de créer un **conteneur Web** et d’exécuter l’environnement du conteneur en arrière-plan :

```shell
$ docker-compose up -d
```

Si l’image indiquée dans le fichier YAML n’est pas disponible sur le système local, elle est automatiquement téléchargée.

Pour tester le bon fonctionnement de l’environnement Nginx, tapez la commande `ps`.

```shell
$ docker-compose ps
```

La page test créée précédemment est désormais accessible sur *localhost:8000* si vous exécutez la démo localement sur votre ordinateur. Si vous passez par un serveur distant, indiquez simplement l’adresse IP de votre serveur au lieu de « localhost ».

[![Image: Page test Compose Docker](https://www.ionos.com/fr-be/digitalguide/fileadmin/_processed_/b/8/csm_docker-compose-test-page-ubuntu_f263b18904.webp "Page test Compose Docker")](https://www.ionos.com/fr-be/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/docker-compose-test-page-ubuntu.png) Exemple de page test pour un conteneur Nginx La commande `stop` vous permet de quitter à nouveau l’application de conteneur.

```shell
$ docker-compose stop
```

Conseil Notre [tutoriel Docker](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/tutoriel-docker-installation-et-premiers-pas/) et notre tour d’horizon des commandes Docker vous aideront à démarrer avec l’outil de conteneur. Apprenez-en plus sur comment orchestrer Docker avec Swarm et Compose.


This is a markdown version of: [https://www.ionos.com/fr-be/digitalguide/serveur/configuration/docker-compose-sous-ubuntu/](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/docker-compose-sous-ubuntu/) for AI/LLM consumption.