Présentation
Docker Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Il permet aux utilisateurs de lancer, d'exécuter, de communiquer et de fermer des conteneurs avec une seule commande coordonnée.
Ce guide vous montrera comment installer Docker Compose sur Ubuntu.
Prérequis
- Un système exécutant Ubuntu 18.04
- Un compte utilisateur avec sudo privilèges
- Docker installé sur Ubuntu 18.04
- Une fenêtre de ligne de commande/de terminal (Ctrl-Alt-T )
Étapes d'installation de Docker Compose sur Ubuntu
Mettre à jour les référentiels et packages de logiciels
Commencez par mettre à jour les référentiels de logiciels et les packages logiciels. Ouvrez une fenêtre de terminal et saisissez ce qui suit :
sudo apt-get update
sudo apt-get upgrade
Vérifiez la curl
commande en saisissant :
curl
Le système devrait répondre comme indiqué dans l'image ci-dessous :
Si vous voyez un message différent, comme curl: command not found
, vous devrez l'installer.
Pour installer curl, entrez ce qui suit :
sudo apt install curl
Télécharger la dernière version de Docker Compose
1. Pour télécharger la dernière version de Docker Compose, utilisez la commande :
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Cela téléchargera Docker Container 1.24.0. (Au moment où cet article a été écrit, Docker Compose 1.24.0 est la dernière version.)
- Le
–L
l'option indique au système de suivre toutes les redirections, au cas où le fichier aurait été déplacé - Si vous souhaitez une version différente de Docker Compose, vous pouvez parcourir la liste et remplacer votre version préférée par /1.24.0/
- Le
–o
l'option change le nom du fichier, il est donc plus facile de taper - Le fichier sera enregistré dans /usr/local/bin/
2. Ensuite, modifiez les autorisations du fichier pour autoriser l'exécution du nouveau logiciel sur Ubuntu :
sudo chmod +x /usr/local/bin/docker-compose
Vous n'avez pas besoin d'exécuter un script d'installation pour Docker Compose. Une fois téléchargé, le logiciel est prêt à être utilisé.
Vérifier l'installation de Docker Compose
Pour tester une installation réussie, vérifiez la version en utilisant :
docker–compose –version
Le résultat devrait ressembler à ceci :
Comment désinstaller Docker Compose
Pour désinstaller Docker Compose, supprimez simplement le binaire :
sudo rm /usr/local/bin/docker-compose
Si vous avez installé Docker Compose en utilisant apt-get
, utilisez la commande suivante pour désinstaller le package :
sudo apt-get remove docker-compose
Ensuite, exécutez une commande pour supprimer les dépendances logicielles inutiles :
sudo apt-get autoremove
Commencer à utiliser Docker Compose
Exécuter un échantillon de conteneur avec Docker Compose
1. Revenez à votre répertoire personnel (si nécessaire) :
cd ~
2. Créez et basculez vers un nouveau répertoire :
mkdir hello–world
cd hello–world
3. Créez et modifiez un nouveau fichier de configuration YAML :
sudo nano docker-compose.yml
YAML est un type de fichier de configuration. Ce fichier créera un conteneur nommé test-file basé sur l'image Hello World sur Docker Hub.
4. Saisissez le texte suivant dans l'éditeur :
version: '2'
services:
hello-world:
image:
hello-world:latest
5. Appuyez sur Ctrl-X pour quitter> O pour enregistrer le fichier > Entrée.
Si vous avez des images existantes sur votre système, vous pouvez afficher une liste avec la commande :
sudo docker images
L'exécution de cette commande maintenant générera une liste vide. Docker téléchargera automatiquement l'image en fonction de ce fichier de configuration.
Saisissez :
sudo docker–compose up
Docker recherchera un hello-world local image. S'il n'en trouve pas, il en téléchargera un. Ensuite, Docker créera un conteneur, le lancera, puis exécutera le hello-world scénario. Vous devriez voir la sortie sur votre écran comme ci-dessous :
Docker-compose crée maintenant un conteneur et exécute le programme hello. Cette action confirme que l'installation fonctionne.
Il affiche également une explication des actions réalisées :
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
Une fois cette opération terminée, Docker ferme le conteneur. Vous devriez voir une invite de commande à la fin de la sortie.
Répertorier les images et les conteneurs Docker
Pour afficher une liste de toutes les images Docker stockées localement :
sudo docker images ls –a
Le –a
l'option affiche tout images Docker. Vous devriez voir une liste avec le hello-world photo.
Pour voir une liste utilisée par tous les conteneurs :
sudo docker ps -a
Pour afficher tous les conteneurs en cours d'exécution :
sudo docker ps
Notez que cette liste est vide. Cela vous montre qu'une fois le hello-world l'image se termine, elle se ferme automatiquement.
Supprimer une image et un conteneur Docker
Pour supprimer une image Docker, vous devez connaître son ID IMAGE. Utilisez la commande pour lister les images du passage ci-dessus pour copier ces informations.
Une fois que vous avez l'ID, exécutez la syntaxe suivante pour effacer cette image :
docker image rm [IMAGE_ID]
Vous pouvez également utiliser cette commande pour supprimer plusieurs images Docker :
docker image rm [IMAGE_ID1] [IMAGE_ID2] [IMAGE_ID3]
Pour supprimer un conteneur Docker, utilisez :
docker rm [CONTAINER_ID]
Remplacer [CONTAINER_ID] avec l'identifiant réel du conteneur.
Comme il s'agit d'un test, nous n'avons pas besoin d'occuper de l'espace disque avec d'anciennes images. C'est pourquoi nous allons effacer l'exemple d'image. Vous ne pourrez pas supprimer une image tant que vous n'aurez pas supprimé tous les conteneurs qui y sont liés.
Tout d'abord, retirez le conteneur :
docker rm [CONTAINER_ID]
Comme vous n'avez utilisé qu'un seul conteneur, vous devriez pouvoir supprimer l'image :
docker rmi hello-world