Outils pour utilisateurs

Outils du site


docker

Ceci est une ancienne révision du document !


title: Guide d'installation Docker & Docker Compose - Ubuntu 26.04 author: Alban Decroi date: 18 juin 2026 —

# 🐳 Guide d'installation Docker & Docker Compose Pour stagiaires - Ubuntu 26.04 (Noble Numbat)

## 📌 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.

## 🛠️ Prérequis - Machine virtuelle Ubuntu 26.04 (Noble Numbat) - Accès sudo ou root - Connexion internet - Espace disque suffisant (minimum 5 Go recommandé)

## 📦 Installation de Docker

### 1. Mise à jour du système ```bash sudo apt update && sudo apt upgrade -y ```

### 2. Installation des dépendances ```bash sudo apt install -y ca-certificates curl gnupg ```

### 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 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) echo \

"deb [arch=\$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
noble stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

```

### 4. Installation de Docker Engine ```bash sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ```

### 5. Démarrer et activer Docker ```bash sudo systemctl enable –now docker ```

### 6. Vérifier l'installation ```bash sudo docker run hello-world ``` → Si tu vois “Hello from Docker!”, l'installation est réussie.

## 🔧 Installation de Docker Compose

### Méthode 1 : Utiliser le plugin intégré (recommandé) ```bash # Vérifier la version docker compose version ```

### Méthode 2 : Installer Docker Compose standalone ```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 docker-compose –version ```

## 👤 Ajouter ton utilisateur au groupe Docker Pour éviter d'utiliser `sudo` à chaque commande : ```bash sudo usermod -aG docker \$USER newgrp docker # Recharger les groupes sans redémarrer ``` ⚠️ Déconnecte-toi et reconnecte-toi pour appliquer les changements.

## 🧪 Tester Docker

### Lancer un conteneur Nginx ```bash docker run -d –name test_nginx -p 8080:80 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` — ## 🚀 Exemples de conteneurs à tester | Service | Commande de lancement | Port | Accès | |——————|—————————————————————————————————————|———-|————————————| | 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 | | 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

### 1. Exemple : WordPress + MySQL Crée un fichier `docker-compose.yml` : ```yaml version: '3.8'

services:

db:
  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:
  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:

db_data:
wordpress_data:

```

#### Lancer la stack ```bash docker-compose up -d ``` - Accès : http:<IP_VM>:8080 - Arrêter : `docker-compose down` — ### 2. Exemple : Node.js + MongoDB Crée un fichier `docker-compose.yml` : ```yaml version: '3.8' services: app: image: node:18 working_dir: /app volumes: - ./app:/app ports: - “3000:3000” command: sh -c “npm install && npm start” depends_on: - mongo mongo: image: mongo:6 volumes: - mongo_data:/data/db ports: - “27017:27017” environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example volumes: mongo_data: ``` #### Lancer la stack ```bash docker-compose up -d ``` — ## 🔍 Dépannage | Problème | Solution | |—————————————|————————————————————————————————–| | `Cannot connect to the Docker daemon` | Vérifie que Docker tourne : `sudo systemctl status docker` → `sudo systemctl start docker` | | Erreur de permissions | Vérifie que ton utilisateur est dans le groupe `docker` : `groups` → `sudo usermod -aG docker $USER` | | `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 | Commande | Description | |—————————————|——————————————————| | `docker ps` | Lister les conteneurs en cours d'exécution | | `docker ps -a` | Lister tous les conteneurs (y compris arrêtés) | | `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 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/). — — ## ✅ Checklist de validation - [ ] 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 + MySQL) a é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 - [Documentation officielle Docker](https://docs.docker.com/) - [Documentation Docker Compose](https://docs.docker.com/compose/) - [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