Commandes Docker Essentielles pour les débutants

Docker commands débutants images containers networks volumes Compose

Docker a révolutionné la façon dont les développeurs construisent, expédient et exécutent des applications. Il fournit un environnement cohérent et isolé pour que les applications s’exécutent, facilitant ainsi le développement, les tests et le déploiement des applications dans différents environnements. Cependant, pour les débutants, Docker peut sembler intimidant avec ses propres commandes et terminologie. Dans ce guide complet, nous vous présenterons les commandes Docker essentielles que chaque débutant doit connaître, avec des instructions étape par étape et des exemples.

Introduction à Docker

Avant de plonger dans les commandes, comprenons brièvement ce qu’est Docker et quelques concepts clés.

Docker est une plateforme open source qui permet aux développeurs de construire, déployer et exécuter des applications à l’intérieur de conteneurs. Les conteneurs sont des packages légers, autonomes et exécutables qui incluent tout ce qui est nécessaire pour exécuter une application, y compris le code, le runtime, les outils système, les bibliothèques et les paramètres.

Voici quelques concepts clés de Docker :

  • Image Docker : Un modèle en lecture seule qui contient des instructions pour créer un conteneur Docker. C’est comme un plan pour votre application.
  • Conteneur Docker : Une instance exécutable d’une image Docker. C’est un environnement isolé et sécurisé où votre application s’exécute.
  • Docker Hub : Un service de registre cloud où vous pouvez trouver des images Docker existantes ou pousser vos propres images.
  • Dockerfile : Un fichier texte qui contient les instructions pour créer une image Docker.

Maintenant, plongeons dans les commandes Docker essentielles.

Installation de Docker

Avant de pouvoir commencer à utiliser les commandes Docker, vous devez installer Docker sur votre machine. Le processus d’installation varie selon votre système d’exploitation. Vous pouvez trouver les instructions d’installation pour votre système d’exploitation spécifique sur le site web officiel de Docker : https://docs.docker.com/get-docker/

Une fois que vous avez installé Docker, vous pouvez vérifier l’installation en exécutant la commande suivante dans votre terminal :

$ docker --version

Cette commande doit afficher la version de Docker installée sur votre machine.

Commandes Docker Essentielles

1. Images Docker

Les images Docker sont les blocs de construction des conteneurs. Voici quelques commandes essentielles pour travailler avec les images Docker :

Lister les Images Docker

Pour lister toutes les images Docker sur votre machine, exécutez :

$ docker images

Cette commande affichera une liste de toutes les images Docker sur votre machine, ainsi que leur dépôt, leur tag, leur ID d’image, leur date de création et leur taille.

Récupérer une Image Docker

Pour télécharger (récupérer) une image Docker à partir d’un registre (comme Docker Hub), exécutez :

$ docker pull [nom_image]:[tag]

Remplacez [nom_image] par le nom de l’image que vous voulez récupérer, et [tag] par la version ou le tag spécifique de l’image (par exemple, latest16.04, etc.). Si vous ne spécifiez pas de tag, Docker récupérera automatiquement le tag latest.

Par exemple, pour récupérer la dernière version de l’image nginx, exécutez :

$ docker pull nginx

Supprimer une Image Docker

Pour supprimer une image Docker de votre machine, exécutez :

$ docker rmi [id_image]

Remplacez [id_image] par l’ID de l’image que vous voulez supprimer. Vous pouvez trouver l’ID de l’image en exécutant docker images.

Si l’image a plusieurs tags, vous devrez supprimer tous les tags associés avant de pouvoir supprimer l’image. Vous pouvez faire cela en exécutant :

$ docker rmi [id_image] [id_image] ...

Remplacez [id_image] par les ID de tous les tags que vous voulez supprimer.

Alternativement, vous pouvez utiliser le drapeau --force pour supprimer une image même si elle est utilisée par un conteneur en cours d’exécution :

$ docker rmi --force [id_image]

2. Conteneurs Docker

Les conteneurs Docker sont des instances en cours d’exécution d’images Docker. Voici quelques commandes essentielles pour travailler avec les conteneurs Docker :

Lister les Conteneurs Docker

Pour lister tous les conteneurs Docker en cours d’exécution sur votre machine, exécutez :

$ docker ps

Si vous voulez lister tous les conteneurs (en cours d’exécution et arrêtés), utilisez le drapeau -a :

$ docker ps -a

Cette commande affichera diverses informations sur les conteneurs, telles que leurs ID, noms, images, temps de création et statut.

Exécuter un Conteneur Docker

Pour exécuter un conteneur Docker à partir d’une image, utilisez la commande run :

$ docker run [options] [nom_image]:[tag] [commande]

Remplacez [options] par toutes les options supplémentaires que vous voulez passer au conteneur (par exemple, -d pour exécuter en mode détaché, -p pour le mapping de port, -v pour monter des volumes, etc.), [nom_image] par le nom de l’image que vous voulez exécuter, [tag] par le tag spécifique de l’image (si désiré), et [commande] par la commande que vous voulez exécuter à l’intérieur du conteneur (si nécessaire).

Par exemple, pour exécuter l’image nginx et mapper le port 80 du conteneur à votre port local 8080, exécutez :

$ docker run -d -p 8080:80 nginx

Cette commande exécutera le conteneur nginx en mode détaché (-d) et mappera le port 80 du conteneur au port 8080 sur votre machine locale.

Démarrer/Arrêter un Conteneur Docker

Pour démarrer un conteneur Docker arrêté, exécutez :

$ docker start [id_conteneur]

Remplacez [id_conteneur] par l’ID ou le nom du conteneur que vous voulez démarrer.

Pour arrêter un conteneur Docker en cours d’exécution, exécutez :

$ docker stop [id_conteneur]

Remplacez [id_conteneur] par l’ID ou le nom du conteneur que vous voulez arrêter.

Supprimer un Conteneur Docker

Pour supprimer un conteneur Docker arrêté, exécutez :

$ docker rm [id_conteneur]

Remplacez [id_conteneur] par l’ID ou le nom du conteneur que vous voulez supprimer.

Si le conteneur est en cours d’exécution, vous devrez d’abord l’arrêter avant de pouvoir le supprimer. Alternativement, vous pouvez utiliser le drapeau --force pour supprimer un conteneur en cours d’exécution :

$ docker rm --force [id_conteneur]

Exécuter des Commandes dans un Conteneur en Cours d’Exécution

Pour exécuter une commande à l’intérieur d’un conteneur Docker en cours d’exécution, utilisez la commande exec :

$ docker exec [options] [id_conteneur] [commande]

Remplacez [options] par toutes les options supplémentaires que vous voulez passer (par exemple, -it pour le mode interactif), [id_conteneur] par l’ID ou le nom du conteneur en cours d’exécution, et [commande] par la commande que vous voulez exécuter à l’intérieur du conteneur.

Par exemple, pour ouvrir un shell bash à l’intérieur d’un conteneur en cours d’exécution, exécutez :

$ docker exec -it [id_conteneur] /bin/bash

3. Réseaux Docker

Les conteneurs Docker peuvent communiquer entre eux et avec la machine hôte en utilisant les réseaux Docker. Voici quelques commandes essentielles pour travailler avec les réseaux Docker :

Lister les Réseaux Docker

Pour lister tous les réseaux Docker sur votre machine, exécutez :

$ docker network ls

Cette commande affichera une liste de tous les réseaux Docker, avec leurs noms, pilotes et portées.

Créer un Réseau Docker

Pour créer un nouveau réseau Docker, exécutez :

$ docker network create [options] [nom_reseau]

Remplacez [options] par toutes les options supplémentaires que vous voulez passer (par exemple, --driver pour spécifier le pilote réseau), et [nom_reseau] par le nom que vous voulez donner au nouveau réseau.

Par exemple, pour créer un nouveau réseau bridge nommé my-network, exécutez :

$ docker network create my-network

Connecter un Conteneur à un Réseau

Pour connecter un conteneur en cours d’exécution à un réseau Docker, exécutez :

$ docker network connect [nom_reseau] [id_conteneur]

Remplacez [nom_reseau] par le nom du réseau auquel vous voulez connecter le conteneur, et [id_conteneur] par l’ID ou le nom du conteneur en cours d’exécution.

Déconnecter un Conteneur d’un Réseau

Pour déconnecter un conteneur d’un réseau Docker, exécutez :

$ docker network disconnect [nom_reseau] [id_conteneur]

Remplacez [nom_reseau] par le nom du réseau duquel vous voulez déconnecter le conteneur, et [id_conteneur] par l’ID ou le nom du conteneur en cours d’exécution.

4. Volumes Docker

Les volumes Docker sont utilisés pour persister les données et partager les données entre la machine hôte et les conteneurs, ou entre plusieurs conteneurs. Voici quelques commandes essentielles pour travailler avec les volumes Docker :

Lister les Volumes Docker

Pour lister tous les volumes Docker sur votre machine, exécutez :

$ docker volume ls

Cette commande affichera une liste de tous les volumes Docker, avec leurs noms et pilotes.

Créer un Volume Docker

Pour créer un nouveau volume Docker, exécutez :

$ docker volume create [nom_volume]

Remplacez [nom_volume] par le nom que vous voulez donner au nouveau volume.

Monter un Volume sur un Conteneur

Pour monter un volume sur un conteneur Docker, utilisez le drapeau -v ou --volume lors de l’exécution du conteneur :

$ docker run -v [nom_volume]:[chemin_conteneur] [nom_image]

Remplacez [nom_volume] par le nom ou le chemin du volume que vous voulez monter, [chemin_conteneur] par le chemin à l’intérieur du conteneur où vous voulez monter le volume, et [nom_image] par le nom de l’image que vous voulez exécuter.

Par exemple, pour monter un volume nommé app-data sur le répertoire /app/data à l’intérieur d’un conteneur exécutant l’image my-app, exécutez :

$ docker run -v app-data:/app/data my-app

Supprimer un Volume Docker

Pour supprimer un volume Docker, exécutez :

$ docker volume rm [nom_volume]

Remplacez [nom_volume] par le nom du volume que vous voulez supprimer.

Si le volume est actuellement utilisé par un conteneur en cours d’exécution, vous devrez d’abord arrêter et supprimer le conteneur avant de pouvoir supprimer le volume.

5. Docker Compose

Docker Compose est un outil pour définir et exécuter des applications Docker multi-conteneurs. Il utilise un fichier YAML pour définir les services, les réseaux et les volumes nécessaires pour votre application. Voici quelques commandes essentielles pour travailler avec Docker Compose :

Démarrer une Application Docker Compose

Pour démarrer une application Docker Compose, naviguez dans le répertoire contenant le fichier docker-compose.yml et exécutez :

$ docker-compose up

Cette commande démarrera tous les services définis dans le fichier docker-compose.yml. Si vous voulez exécuter les conteneurs en arrière-plan, utilisez le drapeau -d :

$ docker-compose up -d

Arrêter une Application Docker Compose

Pour arrêter une application Docker Compose en cours d’exécution, exécutez :

$ docker-compose down

Cette commande arrêtera et supprimera tous les conteneurs, réseaux et volumes associés à l’application.

Lister les Conteneurs Docker Compose

Pour lister tous les conteneurs associés à une application Docker Compose, exécutez :

$ docker-compose ps

Cette commande affichera une liste de tous les conteneurs, avec leurs noms, commandes et statuts.

Reconstruire les Conteneurs Docker Compose

Si vous avez apporté des modifications au code ou à la configuration de votre application, vous devrez reconstruire les conteneurs. Pour ce faire, exécutez :

$ docker-compose up --build

Cette commande reconstruira les conteneurs en fonction du Dockerfile et du fichier docker-compose.yml mis à jour.

6. Docker Hub et Registres Privés

Docker Hub est un service de registre cloud où vous pouvez trouver et partager des images Docker. Vous pouvez également héberger votre propre registre privé pour stocker et distribuer vos images personnalisées. Voici quelques commandes essentielles pour travailler avec Docker Hub et les registres privés :

Se Connecter à Docker Hub

Pour vous connecter à votre compte Docker Hub, exécutez :

$ docker login

Cette commande vous invitera à saisir votre nom d’utilisateur et votre mot de passe Docker Hub.

Pousser une Image vers Docker Hub

Pour pousser une image Docker vers votre dépôt Docker Hub, vous devrez d’abord taguer l’image avec votre nom d’utilisateur Docker Hub :

$ docker tag [id_image] [nom_utilisateur]/[nom_image]:[tag]

Remplacez [id_image] par l’ID de l’image que vous voulez pousser, [nom_utilisateur] par votre nom d’utilisateur Docker Hub, [nom_image] par le nom que vous voulez donner à l’image, et [tag] par le tag désiré (par exemple, latestv1.0, etc.).

Une fois l’image taguée, vous pouvez la pousser vers Docker Hub :

$ docker push [nom_utilisateur]/[nom_image]:[tag]

Récupérer une Image depuis Docker Hub

Pour récupérer une image depuis Docker Hub, exécutez :

$ docker pull [nom_utilisateur]/[nom_image]:[tag]

Remplacez [nom_utilisateur] par le nom d’utilisateur Docker Hub du propriétaire de l’image, [nom_image] par le nom de l’image, et [tag] par le tag désiré.

Se Connecter à un Registre Privé

Pour vous connecter à un registre Docker privé, exécutez :

$ docker login [url_registre]

Remplacez [url_registre] par l’URL de votre registre privé. Cette commande vous invitera à saisir vos identifiants de registre (nom d’utilisateur et mot de passe).

Pousser une Image vers un Registre Privé

Pour pousser une image Docker vers un registre privé, vous devrez d’abord taguer l’image avec l’URL du registre :

$ docker tag [id_image] [url_registre]/[nom_image]:[tag]

Remplacez [id_image] par l’ID de l’image que vous voulez pousser, [url_registre] par l’URL de votre registre privé, [nom_image] par le nom que vous voulez donner à l’image, et [tag] par le tag désiré.

Une fois l’image taguée, vous pouvez la pousser vers le registre privé :

$ docker push [url_registre]/[nom_image]:[tag]

Récupérer une Image depuis un Registre Privé

Pour récupérer une image depuis un registre privé, exécutez :

$ docker pull [url_registre]/[nom_image]:[tag]

Remplacez [url_registre] par l’URL de votre registre privé, [nom_image] par le nom de l’image, et [tag] par le tag désiré.

Conclusion

Dans ce guide complet, nous avons couvert les commandes Docker essentielles que chaque débutant doit connaître. Du travail avec les images et conteneurs Docker à la gestion des réseaux, volumes et registres, vous disposez maintenant des connaissances fondamentales pour commencer à utiliser Docker efficacement.

N’oubliez pas que Docker est un outil puissant, et il existe de nombreuses autres commandes et fonctionnalités avancées à explorer à mesure que vous gagnerez en expérience. Pratiquez, expérimentez, et n’hésitez pas à vous référer à ce guide chaque fois que vous en avez besoin.

Laisser un commentaire