Aller au contenu

Utilisation avec Docker

Cette page décrit comment pousser (push) et récupérer (pull) des images avec la commande docker. Les exemples sont transposables à podman.

Pré-requis

Convention de nommage

Toute image hébergée sur le registre porte un nom de la forme :

registry.isima.fr/<projet>/<dépôt>:<tag>
  • <projet> : le nom de votre projet
  • <dépôt> : le nom de votre image (ex. mon-appli)
  • <tag> : la version (ex. latest, 1.0.0, dev…)

S'authentifier

L'authentification n'est nécessaire que pour pousser des images, ou pour récupérer depuis un projet privé.

docker login registry.isima.fr -u <votre_login>
# Password: votre CLI secret

Pousser une image

1. Construire ou tagger l'image

À partir d'un Dockerfile :

docker build -t registry.isima.fr/mon-projet/mon-appli:1.0.0 .

Ou re-tagger une image existante pour la destiner au registre :

docker tag mon-appli:latest registry.isima.fr/mon-projet/mon-appli:1.0.0

2. Pousser l'image

docker push registry.isima.fr/mon-projet/mon-appli:1.0.0

L'image apparaît alors dans votre projet sur l'interface web, où elle est automatiquement scannée si l'option est activée.

Dépôt d'images dans un projet

Pousser plusieurs tags

Il est courant de taguer une même image avec une version explicite et le tag latest :

docker tag registry.isima.fr/mon-projet/mon-appli:1.0.0 registry.isima.fr/mon-projet/mon-appli:latest
docker push registry.isima.fr/mon-projet/mon-appli:latest

Tagger avec le hash du commit Git

Pour tracer précisément quelle version du code a produit une image :

docker tag registry.isima.fr/mon-projet/mon-appli:latest \
           registry.isima.fr/mon-projet/mon-appli:$(git rev-parse --short HEAD)
docker push registry.isima.fr/mon-projet/mon-appli:$(git rev-parse --short HEAD)

Récupérer une image

Depuis un projet public, aucune authentification n'est requise :

docker pull registry.isima.fr/mon-projet/mon-appli:1.0.0

Depuis un projet privé, authentifiez-vous d'abord avec docker login (voir plus haut).

Utiliser avec Docker Compose

Le registre s'utilise de façon transparente dans un compose.yaml. Exemple combinant la construction d'une image et sa publication sur le registre :

services:
  mon-appli:
    image: registry.isima.fr/mon-projet/mon-appli:latest
    build:
      context: .
      dockerfile: Dockerfile
  • Construire l'image : docker compose build
  • La pousser sur le registre : docker compose push
  • Côté utilisateur, l'image est téléchargée automatiquement : docker compose up

Supprimer une image

La suppression se fait depuis l'interface web (onglet du dépôt, sélection du tag puis DELETE), à condition d'avoir au moins le rôle Maintainer sur le projet.

Vérifications avant de pousser