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.
Sommaire
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 :
Commande | Explication |
docker build | Construit 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/tag | Construit et marque une image pour en faciliter le suivi |
docker build https://votreserver/file.tar.gz | Construit 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 :
Commande | Explication |
docker image prune | Efface une image inutilisée |
docker image prune -a | Efface toutes les images qui ne sont pas utilisées par les conteneurs. |
docker system prune | Supprime 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 image | Supprime une image |
docker rm container | Supprime un conteneur en cours d’exécution |
docker swarm leave | Laisse un swarm |
docker stack rm stackname | Supprime 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 :
Commande | Explication |
docker start container | Démarrage d’un nouveau conteneur |
docker stop container | Arrête un conteneur |
docker pause container | Met en pause un conteneur |
docker unpause container | Désactiver un conteneur |
docker restart container | Redémarrage d’un conteneur |
docker wait container | Bloque un conteneur |
docker export container | Exporte le contenu du conteneur vers une archive tar |
docker attach container | S’attache à un conteneur en cours d’exécution |
docker wait container | Attend que le conteneur se termine et affiche le code de sortie. |
docker commit -m “commit message” -a “author” container username/image_name : tag | Sauvegarde d’un conteneur en cours d’exécution sous forme d’image |
docker logs -ft container | Suivi des registres de conteneurs |
docker exec -ti container script.sh | Exécute une commande dans un conteneur |
docker commit container image | Crée une nouvelle image à partir d’un conteneur |
docker create image | Cré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 :
Commande | Explication |
docker ps | Liste de tous les conteneurs en cours d’exécution |
docker -ps -a | Liste de tous les conteneurs |
docker diff container | Inspecte les modifications apportées aux répertoires et aux fichiers du système de fichiers du conteneur. |
docker top container | Affiche tous les processus en cours dans un conteneur existant |
docker inspect container | Affiche des informations de bas niveau sur un conteneur |
docker logs container | Rassemble les journaux d’un conteneur |
docker stats container | Affiche 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
Commande | Explication |
image docker ls | Listes d’images |
docker image rm mysql | Supprime une image |
docker tag image tag | Tags d’une image |
docker history image | Affiche l’historique de l’image |
docker inspect image | Affiche 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 :
Flag | Explication |
–detach , -d | Exécute un conteneur en arrière-plan et imprime l’identifiant du conteneur. |
–env , -e | Définit les variables d’environnement |
–hostname , -h | Attribue un nom d’hôte à un conteneur |
–label , -l | Crée une étiquette de métadonnées pour un conteneur |
–name | Attribue un nom à un conteneur |
–network | Connecte un conteneur à un réseau |
–rm | Retire le conteneur lorsqu’il s’arrête |
–read-only | Définit le système de fichiers du conteneur en lecture seule |
–workdir , -w | Définit un répertoire de travail dans un conteneur |
Commandes du registre
Si vous devez interagir avec Docker Hub, utilisez les commandes suivantes :
Commande | Explication |
docker login | Connexion à un registre |
docker logout | Déconnexion d’un registre |
docker pull mysql | Extrait une image d’un registre |
docker push repo/ rhel-httpd:latest | Pousse une image vers un registre |
docker search term | Recherche 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 :
Commande | Explication |
docker service ls | Liste tous les services en cours d’exécution dans un swarm |
docker stack services stackname | Liste de tous les services en cours d’exécution |
docker service ps servicename | Liste des tâches d’un service |
docker service update servicename | Mise à jour d’un service |
docker service create image | Création d’un nouveau service |
docker service scale servicename=10 | Mise à 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 :
Commande | Explication |
docker network create networkname | Création d’un nouveau réseau |
docker network rm networkname | Supprime un réseau spécifié |
docker network ls | Liste de tous les réseaux |
docker network connect networkname container | Connecte un conteneur à un réseau |
docker network disconnect networkname container | Déconnecte un conteneur du réseau |
docker network inspect networkname | Affiche des informations détaillées sur un réseau |
Suggestions de lecture
Consultez nos autres tutoriels Docker :
Comment installer Docker sur Ubuntu
Comment installer WordPress sur Docker
Comment créer un conteneur Docker
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.