Docker est une plateforme qui aide les développeurs à créer et à déployer des applications conteneurisées. Elle permet de résoudre les problèmes de compatibilité des systèmes d’exploitation en fournissant des environnements virtualisés légers pour gérer ces applications.
L’interface de ligne de commande (CLI) principale de Docker fournit des outils puissants aux développeurs qui travaillent avec des conteneurs. À partir de la commande de base docker
, la CLI prend en charge près de 60 sous-commandes, dont la plupart acceptent un certain nombre d’arguments de ligne de commande pour effectuer différentes tâches.
Prise en main de l’interface de commande Docker
Votre environnement Docker peut être le moteur open source Docker Engine ou l’interface graphique conviviale de Docker Desktop. Le CLI sera votre interface principale dans un environnement Docker Engine, mais vous aurez également accès à l’outil de ligne de commande si vous installez Docker Desktop.
Nous pensons que même les utilisateurs de Docker Desktop se glisseront dans l’outil de ligne de commande une fois qu’ils se seront familiarisés avec au moins ces 20 commandes docker
essentielles.
Commandes Docker à connaître
Entrons dans le vif du sujet et découvrons les commandes Docker avec lesquelles vous devriez être le plus familier.
1. docker system
La commande docker system
permet d’inspecter et de gérer l’environnement Docker. Elle prend en charge les arguments de ligne de commande pour effectuer des tâches spécifiques liées à la gestion, notamment :
df
montre comment vous utilisez le disqueprune
supprime les réseaux, conteneurs, images ou volumes inutilisésinfo
affiche des informations relatives au systèmeevents
affiche un journal des évènements système en temps réel
Vous trouverez ci-dessous l’invite initiale après l’exécution de docker system prune
.
2. docker context
Cette commande vous aide à naviguer et à configurer différents contextes. Dans Docker, les contextes comprennent les noms, les informations de sécurité de la couche de transport, les configurations des points de terminaison et les orchestrateurs.
Voici quelques-uns des arguments de docker context
:
ls
affiche les détails du contexte par défautinspect [CONTEXT}
inspecte un contexte spécifiécreate [CONTEXT]
crée un nouveau contexteuse [CONTEXT]
passe d’un contexte à l’autre
Vous trouverez ci-dessous un exemple de sortie de docker context ls
:
3. docker pause et unpause
La commande docker pause
gèle les processus actifs d’un conteneur. Pour l’exécuter, vous devez spécifier le nom du conteneur, comme indiqué ci-dessous :
docker pause [CONTAINER]
Vous trouverez ci-dessous un exemple de la sortie à laquelle vous pouvez vous attendre après avoir mis un conteneur en pause.
La commande docker unpause
reprend les processus du conteneur mis en pause. Comme pour la commande précédente, vous devez spécifier le nom du conteneur, comme indiqué ci-dessous :
docker unpause [CONTAINER]
Vous trouverez ci-dessous un exemple du résultat auquel vous pouvez vous attendre après l’arrêt d’un conteneur.
4. docker rm
Cette commande supprime les conteneurs, les volumes et les réseaux. Elle permet de sélectionner le composant à supprimer en fonction de ses attributs. Par exemple, vous pouvez forcer la suppression des conteneurs en cours d’exécution ou de tous les conteneurs spécifiés :
docker rm [CONTAINER]
supprime le conteneur dont le nom est spécifié. Le résultat de cette commande est présenté dans la capture d’écran ci-dessous.
5. docker rmi
Vous utilisez cette commande pour supprimer des images. Vous pouvez supprimer une seule image ou plusieurs images à la fois. Vous pouvez décrire l’image à supprimer en utilisant l’ID court ou l’ID long. Cette commande est importante pour garder le nœud hôte propre et efficace.
La commande de suppression d’image utilise la structure suivante :
docker rmi [IMAGE ID]
Vous trouverez ci-dessous un exemple de son résultat.
6. docker volume
Cette commande vous permet de gérer les volumes dans Docker. Vous pouvez l’utiliser pour créer, supprimer, lister et inspecter des volumes.
Voici quelques-uns des arguments de docker volume
:
create [OPTIONAL NAME]
crée un nouveau volume. Vous pouvez spécifier le nom du volume ou laisser Docker générer un nom aléatoire.ls
liste les volumes disponiblesinspect [NAME]
affiche des informations détaillées sur le volume.rm [NAME]
supprime un volume de Docker.
Vous trouverez ci-dessous un exemple de sortie après la création d’un volume.
7. docker search
Utilisez cette commande pour rechercher des images à partir de Docker Hub, que vous pouvez ensuite exécuter en tant que conteneurs sur votre machine. Elle vous permet d’accéder aux images du registre de Docker Hub sans visiter le site web.
La commande suit la structure suivante : docker search
. Vous pouvez spécifier les noms des images que vous recherchez ou créer un filtre.
Vous trouverez ci-dessous un exemple de la sortie de la requête suivante :
docker search --filter is-official=true --filter stars=500 mysql
8. docker push
La commande docker push
vous permet de partager vos images dans le registre Docker Hub ou dans un dépôt privé.
La structure de la commande est la suivante :
docker push [OPTIONS] NAME[:TAG]
[OPTIONS]
vous permet de définir -disable-content-trust
.
Par défaut, cette valeur est vraie, et il n’est pas obligatoire de l’inclure.
NAME[:TAG]
l’utilisation du nom du registre, du dépôt et de la balise image est nécessaire.
Vous trouverez ci-dessous un exemple de la sortie de docker push
.
9. docker pull
Cette commande télécharge une image Docker à partir d’un dépôt dans un registre privé ou public.
La commande fonctionne comme suit :
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Cette commande vous permet d’utiliser des images existantes au lieu d’en créer de nouvelles chaque fois que vous devez créer une application conteneurisée.
L’exemple ci-dessous montre la sortie d’une commande docker pull
:
10. docker ps
Par défaut, cette commande affiche la liste de tous les conteneurs en cours d’exécution. Cependant, vous pouvez ajouter un drapeau pour lister les conteneurs en fonction d’attributs tels que la taille de l’utilisation du disque, les conteneurs liés et les libellés.
La commande suit la structure ci-dessous :
docker ps [OPTIONS]
Voici quelques-uns de ses arguments :
-a
affiche une liste des conteneurs en cours d’exécution et des conteneurs terminés-s
affiche la taille sur disque et la taille virtuelle de chaque conteneur
Vous pouvez utiliser les deux ensemble comme suit :
docker ps -as
Vous trouverez ci-dessous un exemple de résultat de la commande docker ps
.
11. docker tag
Utilisez cette balise pour ajouter des métadonnées, telles que la version, à votre image. Les balises sont généralement créées lorsqu’une image est construite, mais la commande docker tag
vous permet d’ajouter une balise ultérieurement, créant ainsi un alias pour l’image cible.
Cette commande suit la structure suivante :
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Dans l’exemple ci-dessous, nous listons les images portant le nom « redis » Après avoir étiqueté l’image avec un numéro de version (« 2.0 »), le nouvel alias et l’image étiquetée à l’origine apparaissent dans la liste.
12. docker rename
Utilisez cette commande pour renommer un conteneur. Ceci est utile lorsque vous avez plusieurs conteneurs et que vous souhaitez les différencier en fonction de leur objectif.
Cette commande suit la structure suivante :
docker rename [OLD_NAME] [NEW_NAME]
Vous trouverez ci-dessous un exemple d’affichage avant et après une commande docker rename
.
13. docker commit
Cette commande vous permet de créer de nouvelles images après avoir modifié les fichiers d’un conteneur. C’est important car cela vous permet de déboguer un conteneur à l’aide d’un shell interactif.
Cette commande suit la structure suivante :
docker commit [CONTAINER_ID] [name-of-new-image]
Vous trouverez ci-dessous un exemple et une sortie de la commande docker commit
command.
14. docker network
Il s’agit d’une commande de gestion de réseau qui vous permet de créer des applications puissantes en connectant des services et des conteneurs.
La commande a la structure suivante :
docker network [OPTIONS]
Ses arguments sont les suivants :
connect
pour connecter les conteneurs aux réseauxcreate
pour construire de nouveaux réseauxdisconnect
pour déconnecter les conteneurs en cours d’exécution des réseauxrm
pour supprimer un ou plusieurs réseaux
Vous trouverez ci-dessous le résultat de la commande docker network create
.
15. docker history
Cette commande donne l’historique d’une image spécifiée, vous aidant à comprendre comment elle a été créée et affichant la taille de l’image.
La commande a la structure suivante :
docker history [IMAGE]
Ci-dessous, nous voyons l’historique associé à l’image redis:latest
.
16. docker update
Cette commande vous permet de mettre à jour la configuration d’un conteneur. Elle permet d’éviter que les conteneurs ne consomment trop de ressources de l’hôte Docker. Le format de la commande est le suivant :
docker update [OPTIONS] [CONTAINER]
Voici quelques-unes de ses options :
--restart
met à jour la politique de redémarrage d’un conteneur--memory
fixe la limite de mémoire d’un conteneur--cpus
définit le nombre d’unités centrales allouées
Vous trouverez ci-dessous un exemple de sortie de la commande docker update
.
17. docker plugin install
Cette commande vous permet de gérer les plugins. Elle est essentielle car elle permet d’ajouter de nouvelles fonctionnalités sans modifier les configurations de l’hôte Docker.
Les arguments de docker plugin
sont les suivants :
create
pour créer de nouveaux pluginsenable
pour activer les plugins installésinstall
pour installer de nouveaux pluginsrm
pour supprimer un ou plusieurs pluginsls
pour afficher une liste de plugins
Ci-dessous, nous utilisons docker plugin install
pour ajouter un plugin à notre environnement. Ensuite, nous utilisons docker plugin ls
pour afficher son statut.
18. docker container
Cette commande vous permet de gérer les conteneurs. Vous l’utilisez pour effectuer des actions telles que créer, arrêter et supprimer des conteneurs, entre autres.
Les options de docker container
sont les suivantes :
create
pour créer un conteneurcommit
pour créer une nouvelle image après modification d’un conteneurexec
pour exécuter des commandes à l’intérieur d’un conteneur en cours d’exécutionkill
pour arrêter un conteneur en cours d’exécutionls
pour afficher une liste de conteneurs dans un hôte Dockerrestart
pour redémarrer un conteneurrun
pour créer un conteneur à partir d’une image et l’exécuterrm
pour supprimer un conteneur d’un hôte Docker
Vous trouverez ci-dessous un exemple de sortie d’une commande docker container
.
19. docker logs
Cette commande récupère les journaux d’un conteneur. Elle donne un aperçu des opérations d’un conteneur, ce qui peut être essentiel lors du débogage.
Vous trouverez ci-dessous un exemple de sortie d’une commande docker logs
.
20. docker swarm
Cette commande permet de gérer un Docker swarm (ou essaim) – un groupe de machines (virtuelles ou physiques) exécutant Docker et configurées pour travailler ensemble dans un cluster. Cette commande facilite la mise en place d’un essaim et permet de profiter de ses avantages.
Vous trouverez ci-dessous quelques-unes des options de docker swarm
:
init
pour initier un essaimjoin
pour rejoindre un essaimleave
pour quitter un essaimupdate
pour mettre à jour un essaim
Vous trouverez ci-dessous un exemple et un résultat de la commande docker swarm init
.
Résumé
Docker est un outil efficace pour créer et gérer des applications conteneurisées. Les commandes faciles à comprendre de son CLI facilitent la création et la manipulation d’applications complexes.
La maîtrise des 20 commandes ci-dessus peut accélérer le développement de vos applications conteneurisées.
Chez Kinsta, de nombreux clients de l’hébergement WordPress infogéré utilisent nos outils DevKinsta basés sur Docker-Desktop pour développer et déployer leurs sites web.
Les clients du service d’hébergement d’applications de Kinsta peuvent travailler avec Docker et leur fournisseur Git préféré (Bitbucket, GitHub ou GitLab) pour le contrôle des versions du code source et le déploiement rapide d’applications conteneurisées.
Laisser un commentaire