Outils pour utilisateurs

Outils du site


docker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
docker [2026/06/19 10:43] – modification externe 127.0.0.1docker [2026/06/25 14:59] (Version actuelle) timothe
Ligne 1: Ligne 1:
-title: Guide d'installation Docker & Docker Compose - Ubuntu 26.04 +# Installation de Docker sur Ubuntu 20.04 - Guide Complet                                                      [[plan_du_site| Retour au plan du site]]
-author: Alban Decroi +
-date: 18 juin 2026 +
---- +
- +
-# 🐳 Guide d'installation Docker & Docker Compose +
-**Pour stagiaires - Ubuntu 26.04 (Noble Numbat)**+
  
 --- ---
  
 ## 📌 Introduction ## 📌 Introduction
-Ce guide détaille l'installation de **Docker** et **Docker Compose** sur une machine virtuelle **Ubuntu 26.04**, avec des exemples concrets de conteneurs à tester et déployer.+ 
 +Ce guide détaille les étapes pour installer **Docker Engine** sur un système **Ubuntu 20.04 LTS** en utilisant le dépôt officiel de Docker. Cette méthode garantit une installation stablesécurisée et à jour.
  
 --- ---
  
-## 🛠️ Prérequis +## ✅ Prérequis 
-Machine virtuelle **Ubuntu 26.04** (Noble Numbat+ 
-Accès **sudo** ou root +Un système **Ubuntu 20.04 LTS** (Focal Fossa). 
-Connexion internet +Un accès **root** ou un utilisateur avec des privilèges `sudo`. 
-- Espace disque suffisant (minimum 5 Go recommandé)+Une connexion Internet active.
  
 --- ---
  
-## 📦 Installation de Docker+## 🛠️ Étapes d'installation 
 + 
 +### 1. Mettre à jour les paquets existants 
 + 
 +Avant toute installation, mettez à jour votre système :
  
-### 1. Mise à jour du système 
 ```bash ```bash
 sudo apt update && sudo apt upgrade -y sudo apt update && sudo apt upgrade -y
 ``` ```
  
-### 2. Installation des dépendances+--- 
 + 
 +### 2. Installer les dépendances nécessaires 
 + 
 +Installez les paquets requis pour ajouter de nouveaux dépôts via HTTPS : 
 ```bash ```bash
-sudo apt install -y ca-certificates curl gnupg+sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
 ``` ```
  
-### 3. Ajout du dépôt officiel Docker +---
-```bash +
-# Créer le répertoire pour les clés +
-sudo install -m 0755 -d /etc/apt/keyrings+
  
-# Ajouter la clé GPG de Docker +### 3. Ajouter la clé GPG officielle de Docker
-curl -fsSL https://download.docker.com/linux/ubuntu/gpg   sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg+
  
-# Ajouter le dépôt Docker (compatible Ubuntu 26.04) +Ajoutez la clé GPG de Docker pour vérifier l'authenticité des paquets : 
-echo \ + 
-  "deb [arch=\$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu +```bash 
-  noble stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 ``` ```
  
-### 4. Installation de Docker Engine+--- 
 + 
 +### 4. Ajouter le dépôt Docker aux sources APT 
 + 
 +Ajoutez le dépôt officiel de Docker pour Ubuntu 20.04 : 
 ```bash ```bash
-sudo apt update +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin+
 ``` ```
  
-### 5. Démarrer et activer Docker+--- 
 + 
 +### 5. Installer Docker Engine 
 + 
 +Mettez à jour l'index des paquets et installez Docker 
 ```bash ```bash
-sudo systemctl enable --now docker+sudo apt update 
 +sudo apt install -y docker-ce docker-ce-cli containerd.io
 ``` ```
 +
 +---
  
 ### 6. Vérifier l'installation ### 6. Vérifier l'installation
 +
 +Testez Docker en exécutant un conteneur de test :
 +
 ```bash ```bash
 sudo docker run hello-world sudo docker run hello-world
 ``` ```
-→ Si tu vois **"Hello from Docker!"**, l'installation est réussie.+ 
 +Si l'installation est réussie, vous devriez voir un message de confirmation.
  
 --- ---
  
-## 🔧 Installation de Docker Compose+### 7. (Optionnel) Ajouter votre utilisateur au groupe Docker 
 + 
 +Pour éviter d'utiliser `sudo` à chaque commande Docker, ajoutez votre utilisateur au groupe `docker` :
  
-### Méthode 1 : Utiliser le plugin intégré (recommandé) 
 ```bash ```bash
-# Vérifier la version +sudo usermod -aG docker $USER
-docker compose version+
 ``` ```
  
-### Méthode 2 Installer Docker Compose standalone +**⚠️ Important** Redémarrez votre session pour appliquer les changements.
-```bash +
-# Télécharger Docker Compose +
-sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-\$(uname -m) -o /usr/local/bin/docker-compose+
  
-# Rendre le binaire exécutable +---
-sudo chmod +x /usr/local/bin/docker-compose+
  
-# Vérifier l'installation +### 8. Vérifier la version de Docker 
-docker-compose --version+ 
 +```bash 
 +docker --version
 ``` ```
  
 --- ---
  
-## 👤 Ajouter ton utilisateur au groupe Docker +## 🔧 Configuration supplémentaire (Optionnel) 
-Pour éviter d'utiliser `sudo` à chaque commande :+ 
 +### Activer le démarrage automatique de Docker 
 + 
 +Pour que Docker démarre automatiquement au boot : 
 ```bash ```bash
-sudo usermod -aG docker \$USER +sudo systemctl enable docker 
-newgrp docker  Recharger les groupes sans redémarrer+``` 
 + 
 +### Démarrer Docker manuellement 
 + 
 +```bash 
 +sudo systemctl start docker 
 +``` 
 + 
 +### Vérifier le statut de Docker 
 + 
 +```bash 
 +sudo systemctl status docker
 ``` ```
-⚠️ **Déconnecte-toi et reconnecte-toi** pour appliquer les changements. 
  
 --- ---
Ligne 102: Ligne 129:
  
 ### Lancer un conteneur Nginx ### Lancer un conteneur Nginx
 +
 ```bash ```bash
-docker run -d --name test_nginx -p 8080:80 nginx+sudo docker run -d -p 80:80 --name webserver nginx
 ``` ```
-- **Accès** : Ouvre un navigateur et va sur `http://<IP_VM>:8080` 
-- **Vérifier** : `docker ps` 
-- **Arrêter** : `docker stop test_nginx && docker rm test_nginx` 
  
----+Accédez à `http://localhost` dans votre navigateur pour voir la page d'accueil de Nginx.
  
-## 🚀 Exemples de conteneurs à tester +### Arrêter le conteneur 
- | **Service**      | **Commande de lancement**                                                                                     | **Port** | **Accès**                          | + 
- |------------------|---------------------------------------------------------------------------------------------------------------|----------|------------------------------------| +```bash 
- | **Portainer**    | `docker run -d -p 9000:9000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer| 9000     | http://<IP_VM>:9000                | +sudo docker stop webserver 
- | **Adminer**      | `docker run -d --name adminer -p 8080:8080 adminer`                                                           | 8080     | http://<IP_VM>:8080                | +```
- | **Redis**        | `docker run -d --name redis -p 6379:6379 redis`                                                               | 6379     | `docker exec -it redis redis-cli` | +
- | **MySQL**        | `docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:8.0                            | 3306     `docker exec -it mysql mysql -u root -p` | +
- | **WordPress**    | Voir la section Docker Compose ci-dessous                                                                     | 8080     | http://<IP_VM>:8080                |+
  
 --- ---
  
-## 📂 Déployer des applications avec Docker Compose+## 📂 Désinstallation de Docker
  
-### 1. Exemple : WordPress + MySQL +### Arrêter Docker
-Crée un fichier `docker-compose.yml` : +
-```yaml +
-version: '3.8'+
  
-services: +```bash 
-  db: +sudo systemctl stop docker 
-    image: mysql:8.0 +```
-    volumes: +
-      - db_data:/var/lib/mysql +
-    restart: always +
-    environment: +
-      MYSQL_ROOT_PASSWORD: rootpassword +
-      MYSQL_DATABASE: wordpress +
-      MYSQL_USER: wordpress +
-      MYSQL_PASSWORD: wordpress+
  
-  wordpress: +### Supprimer les conteneurs, images et volumes
-    depends_on: +
-      - db +
-    image: wordpress\:latest +
-    volumes+
-      - wordpress_data:/var/www/html +
-    ports: +
-      - "8080:80" +
-    restart: always +
-    environment: +
-      WORDPRESS_DB_HOST: db:3306 +
-      WORDPRESS_DB_USER: wordpress +
-      WORDPRESS_DB_PASSWORD: wordpress +
-      WORDPRESS_DB_NAME: wordpress+
  
-volumes+```bash 
-  db_data: +sudo docker system prune -a --volumes
-  wordpress_data:+
 ``` ```
  
-#### Lancer la stack+### Désinstaller Docker 
 ```bash ```bash
-docker-compose up -d+sudo apt purge -y docker-ce docker-ce-cli containerd.io 
 +sudo rm -rf /var/lib/docker 
 +sudo rm -rf /var/lib/containerd 
 +``` 
 + 
 +### Supprimer le dépôt Docker 
 + 
 +```bash 
 +sudo rm /etc/apt/sources.list.d/docker.list
 ``` ```
-- **Accès** : http://<IP_VM>:8080 
-- **Arrêter** : `docker-compose down` 
  
 --- ---
  
-### 2. Exemple : Node.js + MongoDB +## 🚨 Résolution des problèmes
-Crée un fichier `docker-compose.yml` : +
-```yaml +
-version: '3.8'+
  
-services: +### Erreur : "Permission denied"
-  app: +
-    image: node:18 +
-    working_dir: /app +
-    volumes: +
-      - ./app:/app +
-    ports: +
-      - "3000:3000" +
-    command: sh -c "npm install && npm start" +
-    depends_on: +
-      - mongo+
  
-  mongo: +Si vous voyez une erreur de permission, assurez-vous que votre utilisateur fait partie du groupe `docker` et que vous avez redémarré votre session.
-    image: mongo:6 +
-    volumes: +
-      mongo_data:/data/db +
-    ports: +
-      - "27017:27017" +
-    environment: +
-      MONGO_INITDB_ROOT_USERNAME: root +
-      MONGO_INITDB_ROOT_PASSWORD: example+
  
-volumes+### Erreur "Cannot connect to the Docker daemon" 
-  mongo_data:+ 
 +Vérifiez que Docker est en cours d'exécution : 
 + 
 +```bash 
 +sudo systemctl status docker
 ``` ```
  
-#### Lancer la stack+Si Docker n'est pas actif, démarrez-le : 
 ```bash ```bash
-docker-compose up -d+sudo systemctl start docker
 ``` ```
  
 --- ---
  
-## 🔍 Dépannage +## 📚 Ressources utiles 
- | **Problème**                          | **Solution**                                                                                     | + 
- |---------------------------------------|--------------------------------------------------------------------------------------------------| +[Documentation officielle de Docker](https://docs.docker.com/) 
- | `Cannot connect to the Docker daemon` | Vérifie que Docker tourne `sudo systemctl status docker` → `sudo systemctl start docker`      | +- [Dépôt Docker pour Ubuntu](https://download.docker.com/linux/ubuntu/) 
- | Erreur de permissions                 | Vérifie que ton utilisateur est dans le groupe `docker` `groups` → `sudo usermod -aG docker $USER` | +[Guide de Docker Compose](https://docs.docker.com/compose/)
- | `docker-compose` non trouvé           | Utilise `docker compose` (sans tiret) ou installe le plugin `sudo apt install docker-compose-plugin` | +
- | Port déjà utilisé                     | Change le port dans la commande ou arrête le service qui l'utilise.                          | +
- | Espace disque insuffisant             | Nettoie les images et conteneurs inutilisés : `docker system prune -a`                        |+
  
 --- ---
  
-## 📚 Commandes Docker utiles +## 📝 Notes 
- | **Commande**                          | **Description**                                      | + 
- |---------------------------------------|------------------------------------------------------| +Docker nécessite un noyau Linux compatible (Ubuntu 20.04 utilise un noyau adapté). 
- | `docker ps`                           | Lister les conteneurs en cours d'exécution          | +- Pour une utilisation en production, envisagez de configurer un **firewall** (comme `ufw`) et de limiter les accès à Docker. 
- | `docker ps -a`                        | Lister tous les conteneurs (y compris arrêtés     | +- Docker peut consommer beaucoup de ressources. Surveillez l'utilisation de la mémoire et du CPU.
- | `docker images`                       | Lister les images locales                            | +
- | `docker pull <image>                | Télécharger une image                                | +
- | `docker run -it <image> /bin/bash`    | Lancer un conteneur en mode interactif               | +
- | `docker exec -it <container> /bin/bash` | Ouvrir un shell dans un conteneur en cours          | +
- `docker logs <container>            | Afficher les logs d'un conteneur                     | +
- | `docker stop <container>            | Arrêter un conteneur                                 | +
- | `docker rm <container>              | Supprimer un conteneur                               | +
- | `docker rmi <image>                 | Supprimer une image                                  | +
- | `docker system prune`                 | Nettoyer les ressources inutilisées                 |+
  
 --- ---
  
-## 💡 Conseils pour les stagiaires +## 💡 Conseils
-1. **Expérimente** : Modifie les fichiers `docker-compose.yml` pour ajouter des services ou changer les configurations. +
-2. **Lis les logs** : Utilise `docker logs <container>` pour déboguer. +
-3. **Nettoie régulièrement** : Utilise `docker system prune` pour libérer de l'espace. +
-4. **Documente** : Note les commandes et configurations que tu testes. +
-5. **Communauté** : Pose des questions sur [Stack Overflow](https://stackoverflow.com/) ou le [forum Docker](https://forums.docker.com/).+
  
---- +Utilisez **Docker Compose** pour gérer des applications multi-conteneurs
---- +Explorez les images officielles sur [Docker Hub](https://hub.docker.com/). 
-## ✅ Checklist de validation +Pour des environnements de productionenvisagez d'utiliser **Kubernetes** pour orchestrer vos conteneurs.
-- [ ] Docker est installé et fonctionnel (`docker --version`)+
-- [ ] Docker Compose est installé (`docker-compose --version` ou `docker compose version`). +
-- [ ] Un conteneur Nginx a été lancé et testé. +
-- [ ] Une stack multi-conteneurs (ex: WordPress + MySQLa été déployée+
-[ ] Les commandes de base (`ps``logs`, `exec`) sont maîtrisées. +
-- [ ] Un projet personnel (ex: Portainer, Jenkins) a été déployé.+
  
 --- ---
---- + 
-**📌 Ressources supplémentaires*+*Dernière mise à jour : 19 juin 2026
-- [Documentation officielle Docker](https://docs.docker.com/) + 
-[Documentation Docker Compose](https://docs.docker.com/compose/+[[plan_du_site|⟵ Retour au plan du site]]
-[Docker Hub](https://hub.docker.com/+
-- [Tutoriel Docker pour débutants](https://docker-curriculum.com/)+
docker.1781858605.txt.gz · Dernière modification : de 127.0.0.1