La partie d'aujourd'hui de la série Docker, que nous publions, est dédiée aux équipes Docker. 
La documentation Docker contient une description détaillée d'un grand nombre de commandes, mais quelqu'un qui commence tout juste à travailler avec cette plate-forme peut s'y perdre, alors voici prÚs de deux douzaines des commandes les plus importantes pour travailler avec Docker. Poursuivant la tradition établie, nous comparerons les équipes avec une dispersion de baies.
â 
Partie 1: les basesâ 
Partie 2: termes et conceptsâ 
Partie 3: Fichiers Dockerfileâ 
Partie 4: rĂ©duire la taille des images et accĂ©lĂ©rer leur assemblageâ 
Partie 5: Ă©quipesâ 
Partie 6: travailler avec des donnéesRevue
Rappelons que les images Docker sont créées Ă  partir de fichiers Dockerfile qui dĂ©crivent tout ce qui est nĂ©cessaire pour crĂ©er des images. De plus, n'oublions pas que le conteneur est une image Docker invoquĂ©e Ă  la vie. Pour utiliser efficacement les commandes Docker, vous devez tout d'abord savoir - Ă  quoi vous avez affaire - avec l'image ou avec le conteneur. Si vous pensez aux images et aux conteneurs, vous pouvez voir qu'une image Docker peut exister ou non. La mĂȘme chose peut ĂȘtre dite pour les conteneurs Docker. Un conteneur Docker existant peut en outre ĂȘtre soit dans un Ă©tat opĂ©rationnel, soit dans un Ă©tat inactif.
Une fois que vous avez déterminé exactement avec quoi vous devez travailler, vous pouvez trouver la bonne équipe.
Présentation de la commande Docker
Voici quelques informations que les personnes qui souhaitent travailler avec Docker doivent savoir:
- Les commandes de l'interface de ligne de commande Docker utilisĂ©es pour contrĂŽler quelque chose commencent par le mot-clĂ© dockersuivi d'un espace, puis il y a une indication de ce Ă  quoi une commande particuliĂšre sera dirigĂ©e, puis d'un autre espace, puis la commande elle-mĂȘme suit. Par exemple, voici comment une telle commande est construite:docker container stop.
- Si la commande est dirigée vers une image ou un conteneur spécifique, le nom ou l'identifiant d'une telle image ou d'un tel conteneur y est utilisé.
Par exemple, la commande 
docker container run my_app est une commande permettant de créer et d'exécuter un conteneur nommé 
my_app . Dans les exemples ci-dessous, nous appellerons 
my_container , images 
my_image , tags 
my_tag , etc.
Tout d'abord, nous considĂ©rerons l'Ă©quipe elle-mĂȘme, puis les drapeaux qui peuvent ĂȘtre utilisĂ©s avec elle, si de tels drapeaux existent. Si le drapeau a deux tirets devant, alors c'est sa forme complĂšte, un drapeau avec un tiret est une version abrĂ©gĂ©e d'un certain drapeau. Ils agissent de la mĂȘme maniĂšre. Par exemple, 
-p est une forme abrégée du drapeau 
--port .
Le but de cet article est de vous donner un aperçu des commandes Docker. Vous pouvez donc, si vous en avez une idĂ©e gĂ©nĂ©rale et connaĂźtre les fonctionnalitĂ©s de la plateforme disponibles grĂące Ă  ces commandes, trouver, si nĂ©cessaire, des informations dĂ©taillĂ©es Ă  leur sujet. Les Ă©quipes en question sont testĂ©es sur le systĂšme d'exploitation de la famille Linux en utilisant la version 18.09.1 ââdu moteur Docker et la version 1.39 de l'API.
Remarque sur les commandes prises en charge par Docker CLI 1.13
L'interface de ligne de commande Docker version 1.13 fournit des commandes mises Ă  jour et regroupĂ©es logiquement. Dans le mĂȘme temps, les anciennes Ă©quipes fonctionnent toujours, mais il est plus facile d'en utiliser de nouvelles, en particulier pour les dĂ©butants. C'est, par exemple, que dans la version 1.12 une commande du formulaire 
docker create , et dans la version 1.13 la commande 
docker container create est devenue disponible. Des informations sur la mise en correspondance d'anciennes et de nouvelles équipes sont disponibles 
iciNous examinons d'abord les commandes de gestion des conteneurs, puis nous discutons de la gestion des images.
Commandes de gestion des conteneurs
Le schéma de commande général pour la gestion des conteneurs est le suivant:
 docker container my_command 
Voici les commandes qui peuvent ĂȘtre remplacĂ©es lĂ  oĂč nous avons utilisĂ© 
my_command :
- create- crée un conteneur à partir d'une image.
- start- démarre un conteneur existant.
- run- créez un conteneur et lancez-le.
- ls- liste des conteneurs en cours d'exécution.
- inspect- afficher des informations détaillées sur le conteneur.
- logs- journal de sortie.
- stop- arrĂȘte le conteneur en cours d'exĂ©cution en envoyant le signal- SIGTERMau processus de conteneur principal et, aprĂšs un certain temps,- SIGKILL.
- kill- arrĂȘte le conteneur en cours d'exĂ©cution et envoie le signal- SIGKILLau processus de conteneur principal.
- rm- supprime un conteneur arrĂȘtĂ©.
Commandes de gestion des images
Pour la gestion des images, des commandes ressemblant à ceci sont utilisées:
 docker image my_command 
Voici quelques-unes des équipes de ce groupe:
- build- construire l'image.
- push- envoyer l'image au registre distant.
- ls- liste d'images.
- history- affiche des informations sur les couches d'image.
- inspect- affiche des informations détaillées sur l'image, y compris des informations sur les calques.
- rm- supprime l'image.
Différentes équipes
- docker version-- docker versioninformations de- docker versionpour le client et le serveur Docker.
- docker login- Entrée de registre Docker.
- docker system prune- Supprimez les conteneurs, réseaux et images inutilisés auxquels aucun nom et balise n'ont été attribués.
Examinez maintenant ces commandes plus en détail.
Conteneurs
â DĂ©but de l'existence du conteneur
Au stade initial de l'utilisation des conteneurs, les commandes de 
create , de 
start et d' 
run sont utilisées. Ils sont utilisés, respectivement, pour créer un conteneur, pour le lancer, et pour le créer et le lancer.
Voici la commande pour créer un conteneur à partir d'une image:
 docker container create my_repo/my_image:my_tag 
Dans les exemples suivants, la construction 
my_repo/my_image:my_tag sera raccourcie en 
my_image .
La commande 
create accepte de nombreux 
indicateurs . Par exemple, il peut ĂȘtre Ă©crit sous la forme suivante:
 docker container create -a STDIN my_image 
Le drapeau 
-a est une forme courte du drapeau 
--attach . Ce drapeau vous permet de connecter le conteneur Ă  
STDIN , 
STDOUT ou 
STDERR .
Une fois le conteneur créé, il peut ĂȘtre lancĂ© avec la commande suivante:
 docker container start my_container 
Veuillez noter que vous pouvez faire référence au conteneur dans la commande en utilisant son 
ID ou son nom.
Jetez maintenant un Ćil Ă  la commande qui vous permet de crĂ©er et d'exĂ©cuter le conteneur:
 docker container run my_image 
Cette commande est également capable d'accepter de nombreux 
arguments de ligne de commande. Considérez certains d'entre eux avec un exemple d'une telle construction:
 docker container run -i -t -p 1000:8000 --rm my_image 
L'indicateur 
-i est l'abréviation de 
--interactive . GrĂące Ă  cet indicateur, le flux 
STDIN reste ouvert mĂȘme si le conteneur n'est pas connectĂ© Ă  
STDIN .
L'indicateur 
-t est l'abréviation de 
--tty . Grùce à cet indicateur, un pseudo-terminal est mis en surbrillance qui connecte le terminal utilisé aux flux 
STDIN et 
STDOUT du conteneur.
Pour pouvoir interagir avec le conteneur via le terminal, vous devez utiliser les indicateurs 
-i et 
-t ensemble.
L'indicateur 
-p est l'abréviation de 
--port . Un port est une interface à travers laquelle un conteneur interagit avec le monde extérieur. Design 
1000:8000 redirige le port Docker 
8000 vers le port 
1000 ordinateur sur lequel le conteneur s'exécute. Si une certaine application s'exécute dans le conteneur qui peut sortir quelque chose vers le navigateur, alors pour y accéder, dans notre cas, vous pouvez aller dans le navigateur à 
localhost:1000 .
L'indicateur 
--rm supprime automatiquement le conteneur aprĂšs son achĂšvement.
Regardons quelques autres exemples de la commande 
run :
 docker container run -it my_image my_command 
Dans une telle conception, la commande 
sh peut ĂȘtre utilisĂ©e, ce qui crĂ©era une session de terminal dans un conteneur avec lequel vous pourrez interagir via votre terminal. Lorsque vous travaillez avec des images basĂ©es sur Alpine, il est prĂ©fĂ©rable de se concentrer sur l'utilisation de 
sh plutĂŽt que 
bash , car dans ces images, par défaut, le 
bash pas installé. Pour quitter la session interactive, utilisez la 
exit .
Notez qu'ici nous avons combiné les drapeaux 
-i et 
-t dans 
-it .
Voici un autre exemple de travail avec la commande 
run :
 docker container run -d my_image 
L'indicateur 
-d est l'abréviation de 
--detach . Cette commande démarre le conteneur en arriÚre-plan. Cela vous permet d'utiliser le terminal à partir duquel le conteneur est lancé pour exécuter d'autres commandes pendant l'exécution du conteneur.
âConfirmation de l'Ă©tat du conteneur
Si vous avez des conteneurs Docker en cours d'exécution et que vous voulez savoir ce que sont ces conteneurs, vous devrez les répertorier. Vous pouvez le faire avec la commande suivante:
 docker container ls 
Cette commande affiche une liste des conteneurs en cours d'exécution et fournit à cette liste des informations utiles à leur sujet. Voici un autre exemple de cette commande:
 docker container ls -a -s 
Le commutateur 
-a de cette commande est l'abréviation de 
--all . à l'aide de cette clé, vous pouvez afficher des informations sur tous les conteneurs, et pas seulement sur ceux en cours d'exécution.
Le 
-s est un raccourci pour 
--size . Il vous permet d'afficher les dimensions des conteneurs.
Voici une commande qui affiche des informations détaillées sur le conteneur:
 docker container inspect my_container 
Voici la commande qui affiche les journaux du conteneur:
 docker container logs my_container 
â ArrĂȘt du conteneur
Parfois, un conteneur qui fonctionne doit ĂȘtre arrĂȘtĂ©. Pour ce faire, utilisez la commande suivante:
 docker container stop my_container 
Il vous permet d'arrĂȘter l'exĂ©cution des conteneurs, leur permettant de s'arrĂȘter correctement. Le conteneur a, par dĂ©faut, 10 secondes pour s'Ă©teindre.
Si le conteneur doit ĂȘtre arrĂȘtĂ© rapidement sans se soucier de la bonne exĂ©cution de son travail, vous pouvez utiliser la commande suivante:
 docker container kill my_container 
La commande 
kill , si vous comparez le conteneur de travail avec le tĂ©lĂ©viseur allumĂ©, ressemble Ă  Ă©teindre le tĂ©lĂ©viseur en le dĂ©connectant de l'Ă©lectricitĂ©. Par consĂ©quent, dans la plupart des situations, il est recommandĂ© d'utiliser la commande stop pour arrĂȘter les conteneurs.
Voici une commande qui vous permet d'arrĂȘter rapidement tous les conteneurs en cours d'exĂ©cution:
 docker container kill $(docker ps -q) 
Pour supprimer un conteneur arrĂȘtĂ©, vous pouvez utiliser la commande suivante:
 docker container rm my_container 
Voici une commande qui vous permet de supprimer tous les conteneurs qui n'ont pas été exécutés au moment de l'appel de cette commande:
 docker container rm $(docker ps -a -q) 
Pour résumer cette section. Tout d'abord, un conteneur est créé, puis il est lancé, ou ces deux étapes sont combinées à l'aide d'une commande du formulaire 
docker run my_container . AprÚs cela, l'application conteneurisée est lancée.
Ensuite, le conteneur est arrĂȘtĂ© avec la 
docker stop my_container . Pour supprimer le conteneur, utilisez la 
docker rm my_container .
Parlons maintenant des commandes utilisĂ©es pour travailler avec les images, avec les modĂšles mĂȘmes Ă  partir desquels les conteneurs sont créés.
Les images
âCrĂ©ation d'images
Voici une commande qui vous permet de collecter des images Docker:
 docker image build -t my_repo/my_image:my_tag . 
Dans ce cas, une image est créée avec le nom 
my_image ; lors de son assemblage, le fichier Dockerfile situé sur le chemin ou l'URL spécifié est utilisé.
L'indicateur 
-t est l'abréviation de 
--tag . Il indique à Docker que l'image à créer doit recevoir la balise fournie dans la commande. Dans ce cas, c'est 
my_tag .
Le point Ă  la fin de la commande indique que l'image doit ĂȘtre collectĂ©e Ă  l'aide du fichier Dockerfile situĂ© dans le rĂ©pertoire de travail actuel.
Une fois l'image assemblĂ©e, elle peut ĂȘtre envoyĂ©e au registre distant. GrĂące Ă  cela, d'autres personnes pourront l'utiliser, il pourra ĂȘtre tĂ©lĂ©chargĂ© et exĂ©cutĂ© sur un autre ordinateur. Supposons que vous souhaitiez utiliser le 
Docker Hub . Si oui, vous devrez y créer un compte. L'utilisation de cette ressource est gratuite.
AprĂšs vous ĂȘtre inscrit au Docker Hub, vous devez vous connecter. Et bien que la commande utilisĂ©e pour cela ne s'applique pas directement aux commandes destinĂ©es Ă  travailler avec des images, il sera utile de la considĂ©rer ici. Il s'agit de la commande suivante:
 docker login 
Il vous permet de vous connecter Ă  votre compte Docker Hub. Pour vous connecter, vous devrez saisir un nom d'utilisateur et un mot de passe.
AprĂšs vous ĂȘtre connectĂ©, vous pouvez envoyer des images au registre. C'est fait comme ceci:
 docker image push my_repo/my_image:my_tag 
Maintenant que vous disposez de plusieurs types d'images, vous pouvez les explorer à l'aide de commandes spéciales.
â Recherche d'images
Voici la commande qui affiche une liste d'images, y compris, y compris des informations sur leur taille:
 docker image ls 
La commande suivante vous permet d'afficher des informations sur les images intermédiaires qui composent l'image, en particulier des données sur leurs tailles et comment elles ont été créées:
 docker image history my_image 
Voici la commande qui affiche des informations détaillées sur l'image, y compris des données sur les couches qui composent l'image:
 docker image inspect my_image 
Si vous crĂ©ez autant d'images, il peut arriver que certaines d'entre elles doivent ĂȘtre supprimĂ©es.
âEffacer les images
Voici la commande qui vous permet de supprimer l'image spécifiée:
 docker image rm my_image 
Si l'image est stockée dans un référentiel distant, elle n'en sera pas supprimée.
Voici une commande qui vous permet de supprimer toutes les images locales:
 docker image rm $(docker images -a -q) 
Utilisez cette commande avec prudence, mais il convient de noter que lorsqu'elle est utilisée, les images stockées dans le référentiel distant ne seront pas supprimées. C'est l'un des avantages du stockage d'images dans des référentiels.
Nous avons examiné les commandes de base utilisées pour gérer les conteneurs et les images. Parlons maintenant de quelques autres équipes.
Différentes équipes
Voici la commande qui affiche les informations de version pour le client et le serveur Docker:
 docker version 
Cette commande, déjà connue de vous, est utilisée pour entrer dans le registre Docker:
 docker login 
Cette commande vous permet de supprimer les conteneurs, réseaux et images inutilisés 
auxquels aucun nom et balise ne sont attribués :
 docker system prune 
Voici un exemple de son utilisation:
 docker system prune -a --volumes 
Le commutateur 
-a est un raccourci pour 
--all , vous permet de supprimer les images inutilisées, et pas seulement celles auxquelles aucun nom et balise ne sont attribués.
Le 
--volumes permet de supprimer les volumes inutilisés.
Résumé
Dans cet article, nous avons couvert les commandes Docker utiles. Si vous commencez tout juste Ă  travailler avec Docker, vous devez faire attention aux trois commandes les plus importantes suivantes:
Créez et exécutez un conteneur:
 docker container run my_image 
Construire l'image:
 docker image build -t my_repo/my_image:my_tag . 
Téléchargement de l'image dans un référentiel distant:
 docker image push my_repo/my_image:my_tag 
Pour voir l'aide sur les commandes Docker, vous pouvez exécuter la commande Docker dans le terminal. Vous trouverez ici de l'aide sur l'interface de ligne de commande Docker.
La prochaine fois, nous parlerons de l'utilisation des données dans Docker.
Chers lecteurs! Si vous travaillez avec Docker, vous disposez probablement de votre propre liste de commandes couramment utilisées. Si oui, veuillez partager cette liste.
