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é
docker
suivi 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 SIGTERM
au 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 SIGKILL
au 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 version
informations de docker version
pour 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.
