====== 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}}