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

Façons de forcer la connexion pour Docker Desktop

Subscription: Team Business
For: Administrators

Cette page décrit les différentes méthodes pour forcer la connexion pour Docker Desktop.

Méthode clé de registre (Windows uniquement)

Note

La méthode clé de registre est disponible avec Docker Desktop version 4.32 et ultérieure.

Pour forcer la connexion pour Docker Desktop sur Windows, vous pouvez configurer une clé de registre qui spécifie les utilisateurs autorisés de votre organisation. Les étapes suivantes vous guident dans la création et le déploiement de la clé de registre pour appliquer cette politique :

  1. Créez la clé de registre. Votre nouvelle clé devrait ressembler à ce qui suit :

    $ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop
    
  2. Créez une valeur multi-chaîne allowedOrgs.

    Important

    À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.

  3. Utilisez le nom de votre organisation, tout en minuscules comme données de chaîne. Si vous ajoutez plus d'une organisation, assurez-vous qu'elles sont toutes sur leur propre ligne. N'utilisez aucun autre séparateur comme des espaces ou des virgules.

  4. Redémarrez Docker Desktop.

  5. Quand Docker Desktop redémarre, vérifiez que l'invite Connexion requise ! apparaît.

Dans certains cas, un redémarrage système peut être nécessaire pour que l'application prenne effet.

Note

Si une clé de registre et un fichier registry.json existent tous les deux, la clé de registre a la priorité.

Exemple de déploiement via Group Policy

L'exemple suivant décrit comment déployer une clé de registre pour forcer la connexion sur Docker Desktop en utilisant Group Policy. Il existe plusieurs façons de déployer cette configuration selon l'infrastructure de votre organisation, les politiques de sécurité, et les outils de gestion.

  1. Créez le script de registre. Écrivez un script pour créer la clé HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop, ajoutez la multi-chaîne allowedOrgs, puis définissez la valeur au nom de votre organisation.
  2. Dans Group Policy, créez ou modifiez un Objectif de Politique de Groupe (GPO) qui s'applique aux machines ou utilisateurs que vous voulez cibler.
  3. Dans le GPO, naviguez vers Configuration Ordinateur et sélectionnez Préférences.
  4. Sélectionnez Paramètres Windows puis Registre.
  5. Pour ajouter l'élément de registre, cliquez droit sur le nœud Registre, sélectionnez Nouveau, puis Élément de Registre.
  6. Configurez le nouvel élément de registre pour correspondre au script de registre que vous avez créé, spécifiant l'action comme Mettre à jour. Assurez-vous d'entrer le chemin correct, le nom de valeur (allowedOrgs), et les données de valeur (noms de vos organisations).
  7. Liez le GPO à une Unité Organisationnelle (OU) qui contient les machines auxquelles vous voulez appliquer ce paramètre.
  8. Testez le GPO sur un petit ensemble de machines d'abord pour vous assurer qu'il se comporte comme attendu. Vous pouvez utiliser la commande gpupdate /force sur une machine de test pour actualiser manuellement ses paramètres de politique de groupe et vérifier le registre pour confirmer les changements.
  9. Une fois vérifié, vous pouvez procéder avec un déploiement plus large. Surveillez le déploiement pour vous assurer que les paramètres sont appliqués correctement sur les ordinateurs de l'organisation.

Méthode profils de configuration (Mac uniquement)

Requires: Docker Desktop 4.36 and later

Les profils de configuration sont une fonctionnalité de macOS qui vous permet de distribuer des informations de configuration aux Macs que vous gérez. C'est la méthode la plus sûre pour forcer la connexion sur macOS car les profils de configuration installés sont protégés par la Protection d'Intégrité Système (SIP) d'Apple et ne peuvent donc pas être altérés par les utilisateurs.

  1. Sauvegardez le fichier XML suivant avec l'extension .mobileconfig, par exemple docker.mobileconfig :

     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     <plist version="1.0">
       <dict>
         <key>PayloadContent</key>
         <array>
           <dict>
             <key>PayloadType</key>
             <string>com.docker.config</string>
             <key>PayloadVersion</key>
             <integer>1</integer>
             <key>PayloadIdentifier</key>
             <string>com.docker.config</string>
             <key>PayloadUUID</key>
             <string>eed295b0-a650-40b0-9dda-90efb12be3c7</string>
             <key>PayloadDisplayName</key>
             <string>Configuration Docker Desktop</string>
             <key>PayloadDescription</key>
             <string>Profil de configuration pour gérer les paramètres Docker Desktop.</string>
             <key>PayloadOrganization</key>
             <string>Nom de Votre Entreprise</string>
             <key>allowedOrgs</key>
             <string>première_org;seconde_org</string>
           </dict>
         </array>
         <key>PayloadType</key>
         <string>Configuration</string>
         <key>PayloadVersion</key>
         <integer>1</integer>
         <key>PayloadIdentifier</key>
         <string>com.votreentreprise.docker.config</string>
         <key>PayloadUUID</key>
         <string>0deedb64-7dc9-46e5-b6bf-69d64a9561ce</string>
         <key>PayloadDisplayName</key>
         <string>Profil Config Docker Desktop</string>
         <key>PayloadDescription</key>
         <string>Profil de config pour appliquer les paramètres Docker Desktop pour les organisations autorisées.</string>
         <key>PayloadOrganization</key>
         <string>Nom de Votre Entreprise</string>
       </dict>
     </plist>
  2. Changez les espaces réservés com.votreentreprise.docker.config et Nom de Votre Entreprise au nom de votre entreprise.

  3. Ajoutez le nom de votre organisation. Les noms des organisations autorisées sont stockés dans la propriété allowedOrgs. Elle peut contenir soit le nom d'une seule organisation ou une liste de noms d'organisation, séparés par un point-virgule :

             <key>allowedOrgs</key>
             <string>première_org;seconde_org</string>
  4. Utilisez une solution MDM pour distribuer votre fichier .mobileconfig modifié à vos clients macOS.

  5. Vérifiez que le profil est ajouté à la liste des profils Appareil (Géré) (Paramètres Système > Général > Gestion d'Appareil) sur vos clients macOS.

Méthode plist (Mac uniquement)

Note

La méthode plist est disponible avec Docker Desktop version 4.32 et ultérieure.

Pour forcer la connexion pour Docker Desktop sur macOS, vous pouvez utiliser un fichier plist qui définit les paramètres requis. Les étapes suivantes vous guident dans le processus de création et déploiement du fichier plist nécessaire pour appliquer cette politique :

  1. Créez le fichier /Library/Application Support/com.docker.docker/desktop.plist.

  2. Ouvrez desktop.plist dans un éditeur de texte et ajoutez le contenu suivant, où monorg est remplacé par le nom de votre organisation tout en minuscules :

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
      <dict>
          <key>allowedOrgs</key>
          <array>
              <string>monorg1</string>
              <string>monorg2</string>
          </array>
      </dict>
    </plist>
    Important

    À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation. Avec Docker Desktop version 4.35 et antérieure, l'application de connexion échoue silencieusement si vous ajoutez plus d'une organisation.

  3. Modifiez les permissions du fichier pour vous assurer que le fichier ne peut pas être édité par des utilisateurs non-administrateurs.

  4. Redémarrez Docker Desktop.

  5. Quand Docker Desktop redémarre, vérifiez que l'invite Connexion requise ! apparaît.

Note

Si un fichier plist et registry.json existent tous les deux, le fichier plist a la priorité.

Exemple de déploiement

L'exemple suivant décrit comment créer et distribuer le fichier plist pour forcer la connexion sur Docker Desktop. Il existe plusieurs façons de déployer cette configuration selon l'infrastructure de votre organisation, les politiques de sécurité, et les outils de gestion.

  1. Suivez les étapes précédemment décrites pour créer le fichier desktop.plist.
  2. Utilisez un outil MDM comme Jamf ou Fleet pour distribuer le fichier desktop.plist vers /Library/Application Support/com.docker.docker/ sur les appareils macOS cibles.
  3. Via l'outil MDM, définissez les permissions du fichier pour permettre l'édition par les administrateurs uniquement.
  1. Créez un script Bash qui peut vérifier l'existence du fichier .plist dans le répertoire correct, le créer ou le modifier selon les besoins, et définir les permissions appropriées. Incluez des commandes dans votre script pour :
    • Naviguer vers le répertoire /Library/Application Support/com.docker.docker/ ou le créer s'il n'existe pas.
    • Utiliser la commande defaults pour écrire les clés et valeurs requises dans le fichier desktop.plist. Par exemple :
      $ defaults write /Library/Application\ Support/com.docker.docker/desktop.plist allowedOrgs -string "monorg"
      
    • Changer les permissions du fichier plist pour restreindre l'édition, en utilisant chmod et possiblement chown pour définir le propriétaire sur root ou un autre compte administrateur, s'assurant qu'il ne peut pas être facilement modifié par des utilisateurs non autorisés.
  2. Avant de déployer le script dans l'organisation, testez-le sur une machine macOS locale pour vous assurer qu'il se comporte comme attendu. Portez attention aux chemins de répertoire, permissions, et à l'application réussie des paramètres plist.
  3. Assurez-vous d'avoir la capacité d'exécuter des scripts à distance sur les appareils macOS. Ceci peut impliquer de configurer l'accès SSH ou d'utiliser un outil de support à distance qui supporte macOS.
  4. Utilisez une méthode d'exécution de script à distance qui correspond à l'infrastructure de votre organisation. Les options incluent :
    • SSH : Si SSH est activé sur les machines cibles, vous pouvez l'utiliser pour exécuter le script à distance. Cette méthode nécessite la connaissance de l'adresse IP de l'appareil et les identifiants appropriés.
    • Outil de support à distance : Pour les organisations utilisant un outil de support à distance, vous pouvez ajouter le script à une tâche et l'exécuter sur toutes les machines sélectionnées.
  5. Assurez-vous que le script s'exécute comme attendu sur tous les appareils ciblés. Vous devrez peut-être vérifier les fichiers de log ou implémenter la journalisation dans le script lui-même pour rapporter son succès ou échec.

Méthode registry.json (Tous)

Les instructions suivantes expliquent comment créer et déployer un fichier registry.json sur un seul appareil. Il existe de nombreuses façons de déployer le fichier registry.json. Vous pouvez suivre les exemples de déploiement décrits dans la section du fichier .plist. La méthode que vous choisissez dépend de l'infrastructure de votre organisation, des politiques de sécurité, et des droits administratifs des utilisateurs finaux.

Option 1 : Créer un fichier registry.json pour forcer la connexion

  1. Assurez-vous que l'utilisateur est membre de votre organisation dans Docker. Pour plus de détails, voir Gérer les membres.

  2. Créez le fichier registry.json.

    Basé sur le système d'exploitation de l'utilisateur, créez un fichier nommé registry.json à l'emplacement suivant et assurez-vous que le fichier ne peut pas être édité par l'utilisateur.

    Plateforme Emplacement
    Windows /ProgramData/DockerDesktop/registry.json
    Mac /Library/Application Support/com.docker.docker/registry.json
    Linux /usr/share/docker-desktop/registry/registry.json
  3. Spécifiez votre organisation dans le fichier registry.json.

    Ouvrez le fichier registry.json dans un éditeur de texte et ajoutez le contenu suivant, où monorg est remplacé par le nom de votre organisation. Le contenu du fichier est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre organisation.

    {
    "allowedOrgs": ["monorg1", "monorg2"]
    }
    Important

    À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.

  4. Vérifiez que sign-in est forcé.

    Pour activer le fichier registry.json, redémarrez Docker Desktop sur la machine de l'utilisateur. Quand Docker Desktop démarre, vérifiez que l'invite Connexion requise ! apparaît.

    Dans certains cas, un redémarrage système peut être nécessaire pour que l'application prenne effet.

    Tip

    Si vos utilisateurs ont des problèmes de démarrage de Docker Desktop après avoir forcé la connexion, ils peuvent avoir besoin de mettre à jour vers la dernière version.

Option 2 : Créer un fichier registry.json lors de l'installation de Docker Desktop

Pour créer un fichier registry.json lors de l'installation de Docker Desktop, utilisez les instructions suivantes basées sur le système d'exploitation de votre utilisateur.

Pour créer automatiquement un fichier registry.json lors de l'installation de Docker Desktop, téléchargez Docker Desktop Installer.exe et exécutez une des commandes suivantes depuis le répertoire contenant Docker Desktop Installer.exe. Remplacez monorg par le nom de votre organisation. Vous devez utiliser des lettres minuscules pour le nom de votre organisation.

Si vous utilisez PowerShell :

PS> Start-Process '.\Docker Desktop Installer.exe' -Wait 'install --allowed-org=monorg'

Si vous utilisez l'Invite de Commande Windows :

C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=monorg
Important

À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier registry.json. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.

Pour créer automatiquement un fichier registry.json lors de l'installation de Docker Desktop, téléchargez Docker.dmg et exécutez les commandes suivantes dans un terminal depuis le répertoire contenant Docker.dmg. Remplacez monorg par le nom de votre organisation. Vous devez utiliser des lettres minuscules pour le nom de votre organisation.

$ sudo hdiutil attach Docker.dmg
$ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=monorg
$ sudo hdiutil detach /Volumes/Docker

Option 3 : Créer un fichier registry.json en utilisant la ligne de commande

Pour créer un registry.json en utilisant la ligne de commande, utilisez les instructions suivantes basées sur le système d'exploitation de votre utilisateur.

Pour utiliser le CLI pour créer un fichier registry.json, exécutez la commande PowerShell suivante en tant qu'administrateur et remplacez monorg par le nom de votre organisation. Le contenu du fichier est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre organisation.

PS>  Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["monorg"]}'

Ceci crée le fichier registry.json à C:\ProgramData\DockerDesktop\registry.json et inclut les informations d'organisation auxquelles l'utilisateur appartient. Assurez-vous que l'utilisateur ne peut pas éditer ce fichier, mais seulement l'administrateur peut :

PS C:\ProgramData\DockerDesktop> Get-Acl .\registry.json


    Directory: C:\ProgramData\DockerDesktop


Path          Owner                  Access
----          -----                  ------
registry.json BUILTIN\Administrators NT AUTHORITY\SYSTEM Allow  FullControl...
Important

À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier registry.json. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.

Pour utiliser le CLI pour créer un fichier registry.json, exécutez les commandes suivantes dans un terminal et remplacez monorg par le nom de votre organisation. Le contenu du fichier est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre organisation.

$ sudo mkdir -p "/Library/Application Support/com.docker.docker"
$ echo '{"allowedOrgs":["monorg"]}' | sudo tee "/Library/Application Support/com.docker.docker/registry.json"

Ceci crée (ou met à jour, si le fichier existe déjà) le fichier registry.json à /Library/Application Support/com.docker.docker/registry.json et inclut les informations d'organisation auxquelles l'utilisateur appartient. Assurez-vous que le fichier a le contenu attendu, et que l'utilisateur ne peut pas éditer ce fichier, mais seulement l'administrateur peut.

Vérifiez que le contenu du fichier contient les informations correctes :

$ sudo cat "/Library/Application Support/com.docker.docker/registry.json"
{"allowedOrgs":["monorg"]}

Vérifiez que le fichier a les permissions attendues (-rw-r--r--) et la propriété (root et admin) :

$ sudo ls -l "/Library/Application Support/com.docker.docker/registry.json"
-rw-r--r--  1 root  admin  26 Jul 27 22:01 /Library/Application Support/com.docker.docker/registry.json
Important

À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier registry.json. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.

Pour utiliser le CLI pour créer un fichier registry.json, exécutez les commandes suivantes dans un terminal et remplacez monorg par le nom de votre organisation. Le contenu du fichier est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre organisation.

$ sudo mkdir -p /usr/share/docker-desktop/registry
$ echo '{"allowedOrgs":["monorg"]}' | sudo tee /usr/share/docker-desktop/registry/registry.json

Ceci crée (ou met à jour, si le fichier existe déjà) le fichier registry.json à /usr/share/docker-desktop/registry/registry.json et inclut les informations d'organisation auxquelles l'utilisateur appartient. Assurez-vous que le fichier a le contenu attendu et que l'utilisateur ne peut pas éditer ce fichier, seulement root peut.

Vérifiez que le contenu du fichier contient les informations correctes :

$ sudo cat /usr/share/docker-desktop/registry/registry.json
{"allowedOrgs":["monorg"]}

Vérifiez que le fichier a les permissions attendues (-rw-r--r--) et la propriété (root) :

$ sudo ls -l /usr/share/docker-desktop/registry/registry.json
-rw-r--r--  1 root  root  26 Jul 27 22:01 /usr/share/docker-desktop/registry/registry.json
Important

À partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier registry.json. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.

Plus de ressources