⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Artefacts logiciels sur Docker Hub

Vous pouvez utiliser Docker Hub pour stocker tout type d'artefact logiciel, pas seulement des images de conteneurs. Un artefact logiciel est tout élément produit pendant le processus de développement logiciel qui contribue à la création, la maintenance ou la compréhension du logiciel. Docker Hub prend en charge les artefacts OCI en tirant parti de la propriété config sur le manifeste d'image.

Qu'est-ce que les artefacts OCI ?

Les artefacts OCI sont tous fichiers arbitraires liés à une application logicielle. Quelques exemples incluent :

  • Graphiques Helm
  • Nomenclature de composants logiciels (SBOM)
  • Signatures numériques
  • Données de provenance
  • Attestations
  • Rapports de vulnérabilité

Le support des artefacts OCI par Docker Hub signifie que vous pouvez utiliser un dépôt pour stocker et distribuer des images de conteneurs ainsi que d'autres actifs.

Un cas d'usage commun pour les artefacts OCI est les graphiques Helm. Les graphiques Helm sont un format d'emballage qui définit un déploiement Kubernetes pour une application. Puisque Kubernetes est un runtime populaire pour les conteneurs, il est logique d'héberger les images d'application et les modèles de déploiement au même endroit.

Utiliser les artefacts OCI avec Docker Hub

Vous gérez les artefacts OCI sur Docker Hub de manière similaire aux images de conteneurs.

Pousser et tirer des artefacts OCI vers et depuis un registre se fait en utilisant un client de registre. ORAS CLI est un outil en ligne de commande qui fournit la capacité de gérer les artefacts OCI dans un registre. Si vous utilisez des graphiques Helm, la CLI Helm fournit une fonctionnalité intégrée pour pousser et tirer des graphiques vers et depuis un registre.

Les clients de registre invoquent des requêtes HTTP vers l'API du registre Docker Hub. L'API du registre se conforme à un protocole standard défini dans la spécification de distribution OCI.

Exemples

Cette section montre quelques exemples sur l'utilisation des artefacts OCI avec Docker Hub.

Pousser un graphique Helm

La procédure suivante montre comment pousser un graphique Helm en tant qu'artefact OCI vers Docker Hub.

Prérequis :

  • Helm version 3.0.0 ou ultérieure

Étapes :

  1. Créez un nouveau graphique Helm

    $ helm create demo
    

    Cette commande génère un modèle de graphique de base.

  2. Emballez le graphique Helm dans un tarball.

    $ helm package demo
    Successfully packaged chart and saved it to: /Users/hubuser/demo-0.1.0.tgz
    
  3. Connectez-vous à Docker Hub avec Helm, en utilisant vos identifiants Docker.

    $ helm registry login registry-1.docker.io -u hubuser
    
  4. Poussez le graphique vers un dépôt Docker Hub.

    $ helm push demo-0.1.0.tgz oci://registry-1.docker.io/docker
    

    Cela télécharge le tarball du graphique Helm vers un dépôt demo dans l'espace de noms docker.

  5. Allez à la page du dépôt sur Docker Hub. La section Étiquettes de la page montre l'étiquette du graphique Helm.

    Liste des étiquettes de dépôt
  6. Sélectionnez le nom de l'étiquette pour aller à la page de cette étiquette.

    La page liste quelques commandes utiles pour travailler avec les graphiques Helm.

    Page d'étiquette d'un artefact de graphique Helm

Pousser un volume

La procédure suivante montre comment pousser un volume de conteneur en tant qu'artefact OCI vers Docker Hub.

Prérequis :

  • ORAS CLI version 0.15 ou ultérieure

Étapes :

  1. Créez un fichier fictif à utiliser comme contenu de volume.

    $ touch myvolume.txt
    
  2. Connectez-vous à Docker Hub en utilisant l'ORAS CLI.

    $ oras login -u hubuser registry-1.docker.io
    
  3. Poussez le fichier vers Docker Hub.

    $ oras push registry-1.docker.io/docker/demo:0.0.1 \
      --artifact-type=application/vnd.docker.volume.v1+tar.gz \
      myvolume.txt:text/plain
    

    Cela télécharge le volume vers un dépôt demo dans l'espace de noms docker. Le drapeau --artifact-type spécifie un type de média spécial qui fait reconnaître l'artefact comme un volume de conteneur par Docker Hub.

  4. Allez à la page du dépôt sur Docker Hub. La section Étiquettes sur cette page montre l'étiquette du volume.

    Page de dépôt montrant un volume dans la liste des étiquettes

Pousser un fichier d'artefact générique

La procédure suivante montre comment pousser un artefact OCI générique vers Docker Hub.

Prérequis :

  • ORAS CLI version 0.15 ou ultérieure

Étapes :

  1. Créez votre fichier d'artefact.

    $ touch myartifact.txt
    
  2. Connectez-vous à Docker Hub en utilisant l'ORAS CLI.

    $ oras login -u hubuser registry-1.docker.io
    
  3. Poussez le fichier vers Docker Hub.

    $ oras push registry-1.docker.io/docker/demo:0.0.1 myartifact.txt:text/plain
    
  4. Allez à la page du dépôt sur Docker Hub. La section Étiquettes sur cette page montre l'étiquette de l'artefact.

    Page de dépôt montrant un artefact dans la liste des étiquettes