Installer Docker & Docker Compose
Ce guide vous explique comment installer Docker et Docker Compose sur votre VPS Linux afin de pouvoir déployer et gérer des applications conteneurisées.
Qu'est-ce que Docker ?
Docker est une plateforme permettant d'exécuter des applications dans des conteneurs isolés.
Un conteneur regroupe une application ainsi que les éléments nécessaires à son fonctionnement, ce qui permet de faciliter son déploiement et sa gestion sur un serveur.
Docker Compose permet quant à lui de gérer plusieurs conteneurs à partir d'un seul fichier de configuration.
Installation de Docker
Sur Ubuntu / Debian
Avant de commencer, mettez à jour la liste des paquets :
sudo apt updateInstallez ensuite les dépendances nécessaires :
sudo apt install -y ca-certificates curl gnupg lsb-releaseCréez le répertoire destiné à stocker la clé du dépôt Docker :
sudo install -m 0755 -d /etc/apt/keyringsAjoutez la clé GPG officielle de Docker :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgAutorisez la lecture de la clé :
sudo chmod a+r /etc/apt/keyrings/docker.gpgAjoutez le dépôt officiel Docker :
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullMettez à nouveau à jour la liste des paquets :
sudo apt updateInstallez Docker ainsi que les composants associés :
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginVérifier l'installation
Une fois l'installation terminée, vérifiez la version de Docker :
sudo docker --versionVérifiez également la version de Docker Compose :
sudo docker compose versionSi les deux commandes retournent une version, Docker et Docker Compose sont correctement installés.
Utiliser Docker sans sudo
Par défaut, Docker nécessite les privilèges administrateur.
Vous pouvez ajouter votre utilisateur au groupe docker afin d'exécuter les commandes Docker sans utiliser sudo :
sudo usermod -aG docker $USERDéconnectez-vous ensuite de votre session SSH puis reconnectez-vous afin que la modification soit prise en compte.
Vous pourrez alors utiliser directement les commandes Docker avec votre utilisateur.
Le changement de groupe nécessite une nouvelle connexion à votre session SSH. Si Docker retourne encore une erreur de permission après reconnexion, vérifiez que votre utilisateur appartient bien au groupe docker.
Commandes Docker essentielles
Gestion des conteneurs
Pour afficher les conteneurs actuellement actifs :
docker psPour afficher tous les conteneurs, y compris ceux qui sont arrêtés :
docker ps -aPour démarrer un conteneur :
docker start nom_conteneurPour arrêter un conteneur :
docker stop nom_conteneurPour supprimer un conteneur :
docker rm nom_conteneurPour afficher les logs d'un conteneur :
docker logs nom_conteneurPour afficher les logs en temps réel :
docker logs -f nom_conteneurGestion des images
Pour afficher les images Docker présentes sur le serveur :
docker imagesPour télécharger une image depuis le registre Docker :
docker pull nginxPour supprimer une image :
docker rmi nginxDocker Compose
Docker Compose permet de gérer plusieurs conteneurs à partir d'un fichier YAML.
Cette méthode est particulièrement pratique lorsqu'une application nécessite plusieurs services, par exemple un serveur web associé à une base de données.
Exemple : serveur web avec base de données
Créez un fichier nommé docker-compose.yml.
Ajoutez ensuite la configuration suivante :
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
restart: unless-stopped
db:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: votre_mot_de_passe
MYSQL_DATABASE: ma_base
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
volumes:
db_data:Docker Compose permet de regrouper plusieurs services dans un même fichier. Une modification du fichier de configuration peut donc impacter plusieurs conteneurs simultanément.
Commandes Docker Compose
Pour démarrer les services en arrière-plan :
docker compose up -dPour arrêter les services :
docker compose downPour afficher les logs des services :
docker compose logs -fPour reconstruire les images :
docker compose buildPour redémarrer un service spécifique :
docker compose restart webExemples pratiques
Déployer Portainer
Portainer fournit une interface web permettant de gérer plus facilement vos conteneurs Docker.
Créez d'abord le volume utilisé par Portainer :
docker volume create portainer_dataLancez ensuite le conteneur Portainer :
docker run -d \
-p 9000:9000 \
--name portainer \
--restart=unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ceUne fois Portainer démarré, vous pouvez accéder à son interface depuis votre navigateur :
http://VOTRE_IP:9000Remplacez VOTRE_IP par l'adresse IP publique de votre VPS.
Déployer un serveur Minecraft
Docker Compose peut également être utilisé pour déployer un serveur Minecraft.
Créez un fichier docker-compose.yml :
version: '3.8'
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "PAPER"
MEMORY: "2G"
volumes:
- ./minecraft-data:/data
restart: unless-stoppedLe serveur Minecraft utilisera ici le port 25565 et disposera de 2 Go de mémoire.
Avant de supprimer des ressources Docker, assurez-vous qu'elles ne sont plus utilisées par vos conteneurs ou applications. Certaines suppressions peuvent entraîner une interruption de service.
Nettoyage de Docker
Au fil du temps, Docker peut conserver des conteneurs, images ou volumes qui ne sont plus utilisés.
Supprimer les conteneurs arrêtés
docker container pruneSupprimer les images inutilisées
docker image pruneSupprimer les volumes inutilisés
docker volume pruneNettoyer les ressources inutilisées
La commande suivante permet de supprimer un grand nombre de ressources Docker inutilisées :
docker system prune -aSupprimer également les volumes avec Docker Compose
La commande suivante permet d'arrêter les services et de supprimer également les volumes associés :
docker compose down -vCette commande peut être utile lorsque vous souhaitez repartir d'une installation propre.
Les volumes Docker peuvent contenir les données persistantes de vos applications. Leur suppression peut entraîner une perte définitive des données si aucune sauvegarde n'est disponible.
Points d'attention
Docker peut utiliser une quantité importante d'espace disque lorsque de nombreuses images ou données de conteneurs sont conservées.
Avant de supprimer des ressources, vérifiez qu'elles ne sont plus utilisées par vos applications.
La commande docker system prune -a doit notamment être utilisée avec précaution, car elle peut supprimer des images qui pourraient être nécessaires au fonctionnement de vos conteneurs.
Si vous rencontrez un problème lors de l'installation ou de l'utilisation de Docker sur votre VPS Hostinity, vous pouvez contacter notre équipe d'assistance depuis votre espace client Hostinity.