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

Configurer un marketplace privé pour les extensions

Availability: Beta
For: Administrators

Apprenez à configurer et mettre en place un marketplace privé avec une liste organisée d'extensions pour vos utilisateurs Docker Desktop.

Le marketplace privé des extensions Docker est conçu spécifiquement pour les organisations qui ne donnent pas aux développeurs un accès root à leurs machines. Il utilise la Gestion des Paramètres afin que les administrateurs aient un contrôle complet sur le marketplace privé.

Prérequis

Étape 1 : Initialiser le marketplace privé

  1. Créez un dossier localement pour le contenu qui sera déployé sur les machines de vos développeurs :

    $ mkdir my-marketplace
    $ cd my-marketplace
    
  2. Initialisez les fichiers de configuration pour votre marketplace :

    $ /Applications/Docker.app/Contents/Resources/bin/extension-admin init
    
    $ C:\Program Files\Docker\Docker\resources\bin\extension-admin init
    
    $ /opt/docker-desktop/extension-admin init
    

Cela crée 2 fichiers :

  • admin-settings.json, qui active la fonctionnalité de marketplace privé une fois appliquée à Docker Desktop sur les machines de vos développeurs.
  • extensions.txt, qui détermine quelles extensions lister dans votre marketplace privé.

Étape 2 : Définir le comportement

Le fichier admin-settings.json généré inclut divers paramètres que vous pouvez modifier.

Chaque paramètre a une value que vous pouvez définir, incluant un champ locked qui vous permet de verrouiller le paramètre et le rendre inchangeable par vos développeurs.

  • extensionsEnabled active les extensions Docker.

  • extensionsPrivateMarketplace active le marketplace privé et assure que Docker Desktop se connecte au contenu défini et contrôlé par l'administrateur au lieu du marketplace Docker public.

  • onlyMarketplaceExtensions autorise ou bloque les développeurs d'installer d'autres extensions en utilisant la ligne de commande. Les équipes développant de nouvelles extensions doivent avoir ce paramètre déverrouillé ("locked": false) pour installer et tester les extensions en cours de développement.

  • extensionsPrivateMarketplaceAdminContactURL définit un lien de contact pour que les développeurs demandent de nouvelles extensions dans le marketplace privé. Si value est vide, alors aucun lien n'est montré à vos développeurs sur Docker Desktop, sinon cela peut être soit un lien HTTP ou un lien "mailto:". Par exemple,

    "extensionsPrivateMarketplaceAdminContactURL": {
      "locked": true,
      "value": "mailto:[email protected]"
    }

Pour plus d'informations sur le fichier admin-settings.json, voir Gestion des Paramètres.

Étape 3 : Lister les extensions autorisées

Le fichier extensions.txt généré définit la liste des extensions qui sont disponibles dans votre marketplace privé.

Chaque ligne du fichier est une extension autorisée et suit le format org/repo:tag.

Par exemple, si vous voulez permettre l'extension Disk Usage, vous devez saisir ce qui suit dans votre fichier extensions.txt :

docker/disk-usage-extension:0.2.8

Si aucun tag n'est fourni, le tag latest disponible pour l'image est utilisé. Vous pouvez également commenter les lignes avec # pour que l'extension soit ignorée.

Cette liste peut inclure différents types d'images d'extension :

  • Extensions du marketplace public ou toute image publique stockée dans Docker Hub.
  • Images d'extension stockées dans Docker Hub comme images privées. Les développeurs doivent être connectés et avoir accès en lecture à ces images.
  • Images d'extension stockées dans un registre privé. Les développeurs doivent être connectés et avoir accès en lecture à ces images.
Important

Vos développeurs ne peuvent installer que la version de l'extension que vous avez listée.

Étape 4 : Générer le marketplace privé

Une fois que la liste dans extensions.txt est prête, vous pouvez générer le marketplace :

$ /Applications/Docker.app/Contents/Resources/bin/extension-admin generate
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin generate
$ /opt/docker-desktop/extension-admin generate

Cela crée un répertoire extension-marketplace et télécharge les métadonnées du marketplace pour toutes les extensions autorisées.

Le contenu du marketplace est généré à partir des informations d'image d'extension comme labels d'image, qui est le même format que les extensions publiques. Il inclut le titre de l'extension, la description, les captures d'écran, les liens, etc.

Étape 5 : Tester la configuration du marketplace privé

Il est recommandé d'essayer le marketplace privé sur votre installation Docker Desktop.

  1. Exécutez la commande suivante dans votre terminal. Cette commande copie automatiquement les fichiers générés à l'emplacement où Docker Desktop lit les fichiers de configuration. Selon votre système d'exploitation, l'emplacement est :

    • Mac : /Library/Application\ Support/com.docker.docker
    • Windows : C:\ProgramData\DockerDesktop
    • Linux : /usr/share/docker-desktop
    $ sudo /Applications/Docker.app/Contents/Resources/bin/extension-admin apply
    
    $ C:\Program Files\Docker\Docker\resources\bin\extension-admin apply
    
    $ sudo /opt/docker-desktop/extension-admin apply
    
  2. Quittez et rouvrez Docker Desktop.

  3. Connectez-vous avec un compte Docker.

Quand vous sélectionnez l'onglet Extensions, vous devriez voir le marketplace privé listant uniquement les extensions que vous avez autorisées dans extensions.txt.

Marketplace Privé des Extensions

Étape 6 : Distribuer le marketplace privé

Une fois que vous avez confirmé que la configuration du marketplace privé fonctionne, la dernière étape est de distribuer les fichiers aux machines des développeurs avec le logiciel MDM que votre organisation utilise. Par exemple, Jamf.

Les fichiers à distribuer sont :

  • admin-settings.json
  • l'ensemble du dossier extension-marketplace et ses sous-dossiers

Ces fichiers doivent être placés sur les machines des développeurs. Selon votre système d'exploitation, l'emplacement cible est (comme mentionné ci-dessus) :

  • Mac : /Library/Application\ Support/com.docker.docker
  • Windows : C:\ProgramData\DockerDesktop
  • Linux : /usr/share/docker-desktop

Assurez-vous que vos développeurs sont connectés à Docker Desktop pour que la configuration du marketplace privé prenne effet. En tant qu'administrateur, vous devriez imposer la connexion.

Retour d'information

Donnez votre avis ou signalez tout bug que vous pourriez trouver en envoyant un email à [email protected].