Cheat Sheet Docker : Toutes les Commandes Essentielles en un Seul Endroit

Docker est une plateforme open-source populaire qui facilite la création, le test, le déploiement et la gestion d’applications conteneurisées dans un environnement cohérent, portable ou virtuel, tel qu’un VPS

Bien qu’il s’agisse d’un outil puissant dans votre arsenal de développement, l’apprentissage des différentes commandes Docker peut prendre du temps et des efforts. Les nouveaux utilisateurs ont souvent intérêt à disposer d’une antisèche Docker à portée de main.

Dans ce tutoriel, nous expliquerons le fonctionnement de Docker et fournirons les commandes Docker les plus courantes. 

Architecture Docker

L’architecture Docker se compose de cinq éléments principaux : le serveur, le client, le conteneur, l’image et le registre.

Serveur Docker

Un serveur Docker ou démon Docker est un programme qui s’exécute en arrière-plan sur votre ordinateur et qui gère les conteneurs et les images Docker. Lorsque vous utilisez l’interface de ligne de commande Docker 

(CLI) pour créer, exécuter ou gérer des conteneurs, vous interagissez avec le démon Docker. 

Le démon Docker est un composant essentiel de la plateforme qui garantit que les conteneurs peuvent être démarrés et arrêtés automatiquement lorsque le système démarre.    

Client Docker  

Le client Docker permet aux utilisateurs d’interagir avec le démon Docker à l’aide de son interface de ligne de commande (CLI). En termes simples, il s’agit de la partie principale de l’architecture Docker pour la création, la gestion et l’exécution d’applications de conteneurs. 

Lorsque vous utilisez la CLI de Docker pour transmettre une commande, le client Docker envoie la commande au démon Docker exécuté sur votre ordinateur, qui exécute alors l’opération demandée. Le client Docker peut être installé sur n’importe quelle machine devant interagir avec le démon Docker, y compris votre machine locale, un serveur distant ou un serveur virtuel.

Conteneur Docker

Un conteneur Docker est un paquet qui contient tous les prérequis nécessaires à l’exécution d’une application. 

Les conteneurs sont conçus pour être très portables, ce qui signifie qu’ils peuvent être facilement déplacés d’un environnement à un autre, par exemple de l’ordinateur portable d’un développeur à un environnement de test ou d’un environnement de test à un environnement de production.

Image Docker 

Une image Docker est un modèle préconfiguré qui spécifie ce qui doit être inclus dans un conteneur Docker. En général, les images sont téléchargées à partir de sites web tels que Docker Hub. Cependant, il est également possible de créer une image personnalisée à l’aide de Dockerfile.

Registre Docker 

Le registre Docker est un référentiel central qui stocke et gère les images Docker. Il s’agit d’un système basé sur un serveur qui permet aux utilisateurs de stocker et de partager des images Docker avec d’autres, ce qui facilite la distribution et le déploiement d’applications. Le registre Docker le plus connu est Docker Hub.

Cheat sheet des commandes Docker

Maintenant que vous savez comment fonctionne Docker, examinons quelques-uns des exemples de commandes Docker les plus populaires.

Commandes Build

Docker utilise la commande build pour construire des images à partir d’un fichier Docker. Les commandes les plus courantes sont les suivantes :

CommandeExplication
docker buildConstruit une image à partir d’un fichier Docker situé dans le répertoire courant.
ddocker build https://github.com/docker/
rootfs.git#container:docker
Construit une image à partir d’un dépôt GIT distant
docker build -t nomimage/tagConstruit et marque une image pour en faciliter le suivi
docker build https://votreserver/file.tar.gzConstruit une image à partir d’une archive tar distante
docker build -t image:1.0
-<<EOFFROM busyboxRUN echo “hello world”EOF
Construit une image via un fichier Docker passé par STDIN 

Commandes de nettoyage

Pour garder votre système propre et économiser de l’espace disque, c’est une bonne idée de nettoyer les images, conteneurs et volumes inutilisés. Consultez les commandes ci-dessous pour plus de détails :

CommandeExplication
docker image pruneEfface une image inutilisée
docker image prune -a Efface toutes les images qui ne sont pas utilisées par les conteneurs.
docker system pruneSupprime tous les conteneurs arrêtés, tous les réseaux non utilisés par les conteneurs, toutes les images en suspens et tout le cache de construction.
docker image rm imageSupprime une image
docker rm containerSupprime un conteneur en cours d’exécution
docker swarm leaveLaisse un swarm
docker stack rm stacknameSupprime un swarm
docker volume rm $(docker volume ls -f dangling=true -q)Supprime tous les volumes en suspens
docker rm $(docker ps -a -q)Supprime tous les conteneurs arrêtés
docker kill $ (docker ps -q)Arrête tous les conteneurs en cours d’exécution

Commandes d’interaction avec les conteneurs

Interagissez avec votre conteneur Docker à l’aide des commandes courantes suivantes :

CommandeExplication
docker start containerDémarrage d’un nouveau conteneur
docker stop containerArrête un conteneur
docker pause containerMet en pause un conteneur
docker unpause containerDésactiver un conteneur
docker restart containerRedémarrage d’un conteneur
docker wait containerBloque un conteneur
docker export containerExporte le contenu du conteneur vers une archive tar
docker attach containerS’attache à un conteneur en cours d’exécution
docker wait containerAttend que le conteneur se termine et affiche le code de sortie.
docker commit -m « commit message » -a « author » container username/image_name : tagSauvegarde d’un conteneur en cours d’exécution sous forme d’image
docker logs -ft containerSuivi des registres de conteneurs
docker exec -ti container script.shExécute une commande dans un conteneur
docker commit container imageCrée une nouvelle image à partir d’un conteneur
docker create imageCrée un nouveau conteneur à partir d’une image

Commandes d’inspection des conteneurs 

Parfois, vous devez inspecter vos conteneurs à des fins d’assurance qualité ou de dépannage. Ces commandes vous permettent d’avoir une vue d’ensemble de ce que font les différents conteneurs :

CommandeExplication
docker psListe de tous les conteneurs en cours d’exécution
docker -ps -aListe de tous les conteneurs
docker diff containerInspecte les modifications apportées aux répertoires et aux fichiers du système de fichiers du conteneur.
docker top containerAffiche tous les processus en cours dans un conteneur existant
docker inspect containerAffiche des informations de bas niveau sur un conteneur
docker logs container Rassemble les journaux d’un conteneur
docker stats containerAffiche les statistiques d’utilisation des ressources du conteneur

Commandes de gestion des images

Parmi les commandes de gestion d’images les plus courantes, on peut citer

CommandeExplication
image docker lsListes d’images
docker image rm mysqlSupprime une image
docker tag image tagTags d’une image
docker history imageAffiche l’historique de l’image
docker inspect imageAffiche des informations de bas niveau sur une image

Commandes Run

Docker utilise la commande run pour créer des conteneurs à partir d’images fournies. La syntaxe par défaut de cette commande est la suivante :

docker run (options) image (command) (arg...)

Après la syntaxe par défaut, utilisez l’un des flags suivants :

FlagExplication
–detach , -dExécute un conteneur en arrière-plan et imprime l’identifiant du conteneur.
–env , -eDéfinit les variables d’environnement
–hostname , -hAttribue un nom d’hôte à un conteneur
–label , -lCrée une étiquette de métadonnées pour un conteneur
–nameAttribue un nom à un conteneur
–networkConnecte un conteneur à un réseau
–rmRetire le conteneur lorsqu’il s’arrête
–read-onlyDéfinit le système de fichiers du conteneur en lecture seule
–workdir , -wDéfinit un répertoire de travail dans un conteneur

Commandes du registre

Si vous devez interagir avec Docker Hub, utilisez les commandes suivantes :

CommandeExplication
docker loginConnexion à un registre
docker logoutDéconnexion d’un registre
docker pull mysqlExtrait une image d’un registre
docker push repo/ rhel-httpd:latestPousse une image vers un registre
docker search termRecherche dans Docker Hub les images avec le terme spécifié

Commandes de service

Gérez tous les services Docker à l’aide de ces commandes de base :

CommandeExplication
docker service ls Liste tous les services en cours d’exécution dans un swarm
docker stack services stacknameListe de tous les services en cours d’exécution
docker service ps servicenameListe des tâches d’un service
docker service update servicenameMise à jour d’un service
docker service create imageCréation d’un nouveau service
docker service scale servicename=10Mise à l’échelle d’un ou plusieurs services répliqués
docker service logs stackname servicename Liste de tous les journaux de service

Commandes de réseau

Si vous devez interagir avec le réseau Docker, utilisez l’une des commandes suivantes :

CommandeExplication
docker network create networknameCréation d’un nouveau réseau
docker network rm networknameSupprime un réseau spécifié
docker network ls Liste de tous les réseaux
docker network connect networkname containerConnecte un conteneur à un réseau
docker network disconnect networkname containerDéconnecte un conteneur du réseau
docker network inspect networknameAffiche des informations détaillées sur un réseau

Conclusion

Docker est un outil formidable pour tous ceux qui souhaitent essayer les conteneurs. La courbe d’apprentissage peut être abrupte si vous n’êtes pas familier avec le développement basé sur les conteneurs. Heureusement, le fait d’avoir une antisèche à portée de main peut accélérer le processus, car toutes les commandes courantes sont facilement accessibles et vous n’avez pas besoin de les chercher sur Internet.

Dans ce tutoriel, nous avons couvert les bases de l’architecture Docker et passé en revue toutes les commandes Docker de base. 

Nous espérons que ce tutoriel Docker vous a été utile. Si vous avez des questions, laissez-les dans la section des commentaires ci-dessous. 

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du markting de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.