Comment utiliser la commande docker plugin push pour partager un plugin

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à partager des plugins Docker en les envoyant (push) vers un registre. Vous commencerez par lister les plugins actuellement installés dans votre environnement Docker pour comprendre ce qui est disponible.

Ensuite, vous allez pratiquer l'envoi (push) d'un plugin Docker vers un registre, ce qui vous permettra de partager ou de stocker vos plugins. Enfin, vous apprendrez à envoyer (push) un plugin avec une étiquette (tag) spécifique, offrant ainsi un contrôle de version et une organisation pour vos plugins partagés.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/push("Push Image to Repository") subgraph Lab Skills docker/ls -.-> lab-555193{{"Comment utiliser la commande docker plugin push pour partager un plugin"}} docker/pull -.-> lab-555193{{"Comment utiliser la commande docker plugin push pour partager un plugin"}} docker/tag -.-> lab-555193{{"Comment utiliser la commande docker plugin push pour partager un plugin"}} docker/push -.-> lab-555193{{"Comment utiliser la commande docker plugin push pour partager un plugin"}} end

Lister les plugins existants

Dans cette étape, vous apprendrez à lister les plugins existants installés dans votre environnement Docker. Les plugins étendent les fonctionnalités de Docker, vous permettant d'ajouter des fonctionnalités telles que la gestion des volumes, les pilotes réseau, etc.

Pour lister les plugins Docker actuellement installés, vous pouvez utiliser la commande docker plugin ls. Cette commande vous affichera une liste des plugins, leur statut et d'autres informations pertinentes.

Essayons de lister les plugins dans votre environnement.

docker plugin ls

Vous devriez voir une sortie similaire à celle-ci (la sortie exacte peut varier en fonction de votre environnement) :

ID    NAME    DESCRIPTION    ENABLED

Dans un environnement LabEx par défaut, il n'y a généralement aucun plugin installé par défaut, donc la sortie montrera probablement une liste vide ou seulement les composants intégrés essentiels qui ne sont pas listés comme des plugins distincts. C'est normal.

La commande docker plugin ls est utile pour voir rapidement quels plugins sont disponibles et s'ils sont activés ou désactivés. C'est la première étape de la gestion des plugins Docker.

Envoyer (push) un plugin vers un registre

Dans cette étape, vous apprendrez à envoyer (push) un plugin Docker vers un registre. Envoyant un plugin, vous pouvez le partager avec d'autres personnes ou le stocker pour une utilisation ultérieure. Avant de pouvoir envoyer un plugin, vous devez avoir un plugin disponible. À des fins de démonstration, nous utiliserons un simple plugin d'exemple.

Tout d'abord, téléchargeons (pull) une image de plugin d'exemple. Nous utiliserons le plugin vieux/sshfs comme exemple. Ce plugin vous permet d'utiliser SSHFS pour les volumes Docker.

docker plugin install vieux/sshfs

Vous serez invité à accepter les capacités du plugin. Tapez y puis appuyez sur Entrée.

Plugin "vieux/sshfs" is requesting the following privileges:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-devices: [fuse]
 - authz: []
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the plugin these privileges? [y/N] y

Après l'installation du plugin, vous pouvez vérifier son installation et son statut en utilisant à nouveau la commande docker plugin ls.

docker plugin ls

Vous devriez maintenant voir le plugin vieux/sshfs répertorié et son statut devrait être true (activé).

ID                  NAME                DESCRIPTION                         ENABLED
<plugin_id>         vieux/sshfs         Mount sshfs volumes                 true

Maintenant que nous avons un plugin installé, nous pouvons l'envoyer (push) vers un registre. Pour envoyer un plugin, vous utilisez la commande docker plugin push suivie du nom du plugin. Pour cet exemple, nous enverrons le plugin vieux/sshfs.

docker plugin push vieux/sshfs

Étant donné que nous n'envoyons pas vers un registre spécifique (comme Docker Hub), cette commande tentera d'envoyer le plugin vers le registre par défaut. Dans un scénario réel, vous devriez vous connecter à votre registre d'abord en utilisant docker login et spécifier le registre dans la commande d'envoi (par exemple, docker plugin push your-registry.com/vieux/sshfs).

La sortie montrera la progression de l'opération d'envoi.

The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:<tag>

Cette commande envoie le plugin vers le registre spécifié. Si aucun étiquette (tag) n'est spécifié, l'étiquette latest est généralement utilisée par défaut.

Envoyer (push) un plugin avec une étiquette (tag) spécifique

Dans cette étape, vous apprendrez à envoyer (push) un plugin Docker vers un registre avec une étiquette (tag) spécifique. L'utilisation d'étiquettes vous permet de versionner vos plugins et de gérer différentes versions.

Dans l'étape précédente, nous avons installé et envoyé le plugin vieux/sshfs. Lorsque nous l'avons envoyé sans spécifier d'étiquette, il a probablement utilisé l'étiquette par défaut latest. Maintenant, envoyons le même plugin mais avec une étiquette spécifique, par exemple 1.0.

Pour envoyer un plugin avec une étiquette spécifique, vous utilisez la commande docker plugin push suivie du nom du plugin et de l'étiquette séparés par deux points (:).

docker plugin push vieux/sshfs:1.0

Cette commande enverra le plugin vieux/sshfs avec l'étiquette 1.0 vers le registre par défaut. De même que dans l'étape précédente, dans un scénario réel avec un registre personnalisé, vous incluriez l'adresse du registre avant le nom du plugin (par exemple, docker plugin push your-registry.com/vieux/sshfs:1.0).

La sortie montrera la progression de l'opération d'envoi, indiquant que le plugin est envoyé avec l'étiquette spécifiée.

The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:1.0

En utilisant des étiquettes, vous pouvez maintenir plusieurs versions de votre plugin dans le registre. Cela est crucial pour gérer les mises à jour et garantir la compatibilité. Par exemple, vous pourriez avoir vieux/sshfs:1.0, vieux/sshfs:1.1 et vieux/sshfs:latest, permettant aux utilisateurs de télécharger (pull) la version spécifique dont ils ont besoin.

Ceci conclut les étapes concernant l'envoi de plugins Docker. Vous avez appris à envoyer un plugin vers un registre et à spécifier une étiquette lors de l'opération d'envoi.

Résumé

Dans ce laboratoire, vous avez appris à gérer les plugins Docker, en particulier à les lister et à les envoyer (push) vers un registre. Vous avez commencé par utiliser la commande docker plugin ls pour afficher les plugins installés, en comprenant qu'un environnement par défaut pourrait afficher une liste vide.

Ensuite, vous avez pratiqué l'envoi d'un plugin vers un registre. Cela a impliqué l'installation d'un plugin d'exemple (vieux/sshfs) puis l'utilisation de la commande docker plugin push pour le partager. Vous avez également appris à envoyer un plugin avec une étiquette (tag) spécifique, permettant ainsi la versioning et une meilleure organisation au sein du registre. Ces étapes sont cruciales pour partager et gérer les fonctionnalités Docker personnalisées ou tierces.