Dépôts d'images Docker

Documentation utilisée

Ce document a pour but d'expliquer comment taguer des images docker, et comment en téléverser ou télécharger vers et depuis des dépôts Docker.

Exemple :

  • image : superprojet
  • tag : v1.3
  • dépôt : depotImage.com
  • utilisateur : Roger

Tags

Les tags ont pour but d'étiqueter les différentes versions d'une même image, que ce soit pour une mise à jour ou pour deux architectures différentes d'une même version. Ajouter un tag à une image se fait via la commande Docker suivante :

docker tag <image> <image>:<tag>

<image> est le nom de l'image, et <tag>, son tag. Par exemple, si l'on construit la version 1.3 de mon image superprojet, on peut faire :

docker tag superprojet superprojet:1.3

Ou encore :

docker tag superprojet superprojet:version1.3

Dépôts

Les dépôts servent de lieux de stockage d'image, avec un historique des différentes versions. Les images destinées à des dépôts ont des tags particuliers de la forme :

<dépôt>/<image>:<tag>

Où la partie <dépôt> est spécifique au dépôt utilisé. Par exemple, Docker Hub a des tags du type <user>/<image>:<tag>.

Identification

Avant de pouvoir télécharger ou téléverser une image sur un dépôt, il faut s'y identifier. Pour cela, il faut utiliser la commande suivante :

docker login -u <user> -p <password> <url>

<user> est votre nom d'utilisateur sur le dépôt, <password> est le mot de passe et <url> est l'URL du dépôt.

Cas particulier: Pour s'identifier sur Docker Hub il ne faut pas fournir d'URL, la commande devient donc docker login -u <user> -p <password>

Notez que vous pouvez utiliser la commande sans les arguments -u et -p, auquel cas vos informations d'identification vous seront demandées. Cependant, cela ne fonctionne que dans le cas d'un terminal interactif.

Téléchargement

Une fois identifié sur votre dépôt, vous pouvez télécharger une image via la commande suivante :

docker pull <url>/<image>:<tag>

Par exemple, pour récupérer l'image superprojet avec le tag v1.3 de l'utilisateur Roger sur Docker Hub, la commande serait :

docker pull Roger/superprojet:v1.3

Pour récupérer cette image sur un autre dépôt, par exemple Docker Registry :

docker pull depotImage.comsuperprojet:v1.3

Téléversement

Pour téléverser une image sur votre dépôt, vous devez d'abord lui donner le tag correspondant au dépôt.

docker tag <image> <url>/<image>:<tag>

Notez que le nom de l'image locale peut être différent de celui sur le dépôt. Ainsi, si l'utilisateur Roger construit une image superprojet sur sa machine mais veut la publier en tant que superimage sur Docker Hub, la commande suivante est valide :

docker tag superprojet Roger/superimage:1.3

Sur Docker Registry :

docker tag superprojet depotImage.comsuperimage:1.3

Une fois l'image proprement taguée, on peut la téléverser grâce à la commande suivante : 

docker push <url>/<image>:<tag>

Pour la téléverser sur Docker Hub :

docker push Roger/superprojet:v1.3

Pour la téléverser sur Docker Registry :

docker push depotImage.comsuperprojet:v1.3