====== Séquence 2 : Installer Docker sur Ubuntu et Zorin OS ======
{{ :virtualisation:7cb8e3be-0a20-41a5-bd1a-e208393c3df7.jpg?nolink&400 |}}
**Docker** est une plateforme open source qui permet de développer, livrer et exécuter des applications dans des **conteneurs**. Ces conteneurs regroupent une application et toutes ses dépendances dans un environnement isolé, garantissant une exécution cohérente sur différents systèmes.
Ce guide explique comment installer Docker sur **Ubuntu** et **Zorin OS** (basé sur Ubuntu), ainsi que les étapes pour configurer et utiliser Docker efficacement.
**Pourquoi utiliser Docker ?**
* Isoler les applications et leurs dépendances.
* Faciliter le déploiement et la gestion des applications.
* Optimiser l'utilisation des ressources système.
**⭐ Difficulté : ★★☆☆☆ (2/5)**
>✅ **Accessible** : Étapes détaillées, commandes claires, et exemples concrets (ex : conteneur Nginx).
>⚠️ **Technique** : Nécessite une familiarité avec le terminal Linux et les commandes de base (`sudo`, `apt`, `systemctl`).
>🔍 **Vocabulaire** : Termes comme *Docker Engine*, *conteneur*, *image*, *Docker Compose*, ou *volume* sont expliqués en contexte.
**📚 Prérequis recommandés**
>🐧 **Ubuntu/Zorin OS** : Système à jour, accès root ou droits sudo.
>💻 **Connaissances basiques en ligne de commande** : Utilisation de `apt`, `curl`, et gestion des services.
>🌐 **Connexion Internet** : Pour télécharger Docker et les images.
>📂 **Espace disque** : 20 Go minimum recommandés.
----
===== 1. Installer Docker =====
Avant de commencer, assurez-vous que :
1. Votre système est **Ubuntu 20.04/22.04** ou **Zorin OS** (basé sur Ubuntu).
2. Vous avez un **accès root** ou des droits **sudo**.
3. Votre système est à jour :
sudo apt update && sudo apt upgrade -y
==== Étape 1 : Installer les dépendances ====
1. Installez les paquets nécessaires pour ajouter le dépôt Docker :
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
2. Ajoutez la clé GPG officielle de Docker :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3. Ajoutez le dépôt Docker à votre système :
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
==== Étape 2 : Installer Docker Engine ====
1. Mettez à jour la liste des paquets :
sudo apt update
2. Installez Docker Engine, CLI et Containerd :
sudo apt install -y docker-ce docker-ce-cli containerd.io
==== Étape 3 : Vérifier l'installation ====
1. Vérifiez que Docker est bien installé et en cours d'exécution :
sudo systemctl status docker
2. Testez Docker avec une image de test :
sudo docker run hello-world
**Remarque** : Si vous voyez le message "Hello from Docker!", l'installation est réussie.
===== 2. Configurer Docker =====
==== 2.1. Ajouter votre utilisateur au groupe Docker ====
Pour éviter d'utiliser `sudo` à chaque commande Docker, ajoutez votre utilisateur au groupe `docker` :
sudo usermod -aG docker $USER
**Redémarrez votre session** pour appliquer les modifications.
==== 2.2. Configurer Docker pour démarrer automatiquement ====
Activez le démarrage automatique de Docker :
sudo systemctl enable docker
===== 3. Utiliser Docker =====
==== 3.1. Commandes de base ====
^ Commande ^ Description ^
| docker --version | Affiche la version de Docker. |
| docker pull | Télécharge une image Docker (ex. : `docker pull ubuntu`). |
| docker run | Lance un conteneur à partir d'une image. |
| docker ps | Liste les conteneurs en cours d'exécution. |
| docker ps -a | Liste tous les conteneurs (y compris ceux arrêtés). |
| docker stop | Arrête un conteneur. |
| docker rm | Supprime un conteneur. |
| docker images | Liste les images Docker téléchargées. |
==== 3.2. Exemple : lancer un conteneur Nginx ====
1. Téléchargez l'image Nginx :
docker pull nginx
2. Lancez un conteneur Nginx en arrière-plan :
docker run -d -p 8080:80 --name mon_nginx nginx
3. Accédez à Nginx depuis votre navigateur : [[http://localhost:8080|http://localhost:8080]]
===== 4. Installer Docker Compose (Optionnel) ====
Docker Compose permet de gérer des applications multi-conteneurs.
1. Téléchargez Docker Compose :
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. Donnez les permissions d'exécution :
sudo chmod +x /usr/local/bin/docker-compose
3. Vérifiez l'installation :
docker-compose --version
===== 5. Résolution des problèmes =====
^ Problème ^ Solution ^
| Erreur de permission | Vérifiez que votre utilisateur est dans le groupe **docker** et redémarrez la session. |
| Docker ne démarre pas | Vérifiez le statut du service avec sudo systemctl status docker |
| Impossible de télécharger une image | Vérifiez votre connexion Internet et les paramètres de proxy si nécessaire. |
| Problème de port déjà utilisé | Changez le port mappé dans la commande docker run ex. : -p 8081:80 au lieu de 8080:80 |
===== 6. Désinstaller Docker =====
Si vous souhaitez désinstaller Docker :
1. Arrêtez et supprimez les conteneurs, images et volumes :
sudo docker stop $(sudo docker ps -aq)
sudo docker rm $(sudo docker ps -aq)
sudo docker rmi $(sudo docker images -q)
sudo docker volume prune
2. Désinstallez les paquets Docker :
sudo apt purge -y docker-ce docker-ce-cli containerd.io
3. Supprimez les fichiers de configuration :
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
----
===== 🔑 Points clés à retenir =====
L'installation de Docker sur **Ubuntu** et **Zorin OS** est un processus simple qui ouvre la porte à une multitude de possibilités pour le développement et le déploiement d'applications. Docker permet de :
* **Isoler** les applications et leurs dépendances.
* **Simplifier** le déploiement et la gestion des environnements.
* **Optimiser** l'utilisation des ressources système.
----
===== 📚 Sources ======
* [[https://arxiv.org/abs/1310.6570|Docker: Lightweight Linux Containers for Consistent Development and Deployment – Solomon Hykes (2013)]]
* [[https://docs.docker.com/engine/reference/commandline/cli/|Docker Docs – Référence complète des commandes CLI]]
* [[https://docs.docker.com/engine/install/binaries/|Docker Docs – Installation manuelle via des binaires]]
* [[https://docs.docker.com/engine/security/|Docker Docs – Sécurité et bonnes pratiques]]
* [[https://www.docker.com/blog/|Blog officiel de Docker – Actualités et annonces]]
* [[https://github.com/docker/docker-ce|Dépôt GitHub de Docker Community Edition]]
* [[https://www.nginx.com/blog/docker-nginx-official-images/|NGINX – Utiliser Docker avec les images officielles NGINX]]
* [[https://www.redhat.com/en/topics/containers/what-is-docker|Red Hat – Qu'est-ce que Docker ?]]
----
{{indexmenu>:virtualisation#1|js tree tsort}}