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

Configurer la Gestion des Paramètres avec un fichier JSON

Subscription: Business
For: Administrators

Cette page explique comment utiliser un fichier admin-settings.json pour configurer et appliquer les paramètres Docker Desktop. Utilisez cette méthode pour standardiser les environnements Docker Desktop dans votre organisation.

Prérequis

  • Forcer la connexion pour s'assurer que tous les utilisateurs s'authentifient auprès de votre organisation.
  • Un abonnement Docker Business est requis.

Docker Desktop applique uniquement les paramètres du fichier admin-settings.json si les vérifications d'authentification et de licence Docker Business réussissent.

Important

Si un utilisateur n'est pas connecté ou ne fait pas partie d'une organisation Docker Business, le fichier de paramètres est ignoré.

Limitation

  • Le fichier admin-settings.json ne fonctionne pas dans les environnements isolés ou hors ligne.
  • Le fichier n'est pas compatible avec les environnements qui restreignent l'authentification avec Docker Hub.

Étape un : Créer le fichier de paramètres

Vous pouvez :

  • Utiliser le flag d'installation --admin-settings pour générer automatiquement le fichier. Voir :
  • Ou le créer manuellement et le placer dans les emplacements suivants :
    • Mac : /Library/Application\ Support/com.docker.docker/admin-settings.json
    • Windows : C:\ProgramData\DockerDesktop\admin-settings.json
    • Linux : /usr/share/docker-desktop/admin-settings.json
Important

Placez le fichier dans un répertoire protégé pour empêcher les modifications. Utilisez des outils MDM comme Jamf pour le distribuer à grande échelle.

Étape deux : Définir les paramètres

Tip

Pour une liste complète des paramètres disponibles, leurs plateformes supportées, et avec quelles méthodes de configuration ils fonctionnent, voir la Référence des paramètres.

Le fichier admin-settings.json utilise des clés structurées pour définir ce qui peut être configuré et si les valeurs sont appliquées.

Chaque paramètre supporte le champ locked. Quand locked est défini sur true, les utilisateurs ne peuvent pas changer cette valeur dans Docker Desktop, le CLI, ou les fichiers de configuration. Quand locked est défini sur false, la valeur agit comme une suggestion par défaut et les utilisateurs peuvent toujours la mettre à jour.

Les paramètres où locked est défini sur false sont ignorés sur les installations existantes si un utilisateur a déjà personnalisé cette valeur dans settings-store.json, settings.json, ou daemon.json.

Note

Certains paramètres sont spécifiques à la plateforme ou nécessitent une version minimale de Docker Desktop. Voir la Référence des paramètres pour les détails.

Exemple de fichier de paramètres

Le fichier suivant est un exemple de fichier admin-settings.json. Pour une liste complète des paramètres configurables pour le fichier admin-settings.json, voir Configurations admin-settings.json.

{
  "configurationFileVersion": 2,
  "exposeDockerAPIOnTCP2375": {
    "locked": true,
    "value": false
  },
  "proxy": {
    "locked": true,
    "mode": "system",
    "http": "",
    "https": "",
    "exclude": [],
    "windowsDockerdPort": 65000,
    "enableKerberosNtlm": false
  },
  "containersProxy": {
    "locked": true,
    "mode": "manual",
    "http": "",
    "https": "",
    "exclude": [],
    "pac":"",
    "transparentPorts": ""
  },
  "enhancedContainerIsolation": {
    "locked": true,
    "value": true,
    "dockerSocketMount": {
      "imageList": {
        "images": [
          "docker.io/localstack/localstack:*",
          "docker.io/testcontainers/ryuk:*"
        ]
      },
      "commandList": {
        "type": "deny",
        "commands": ["push"]
      }
    }
  },
  "linuxVM": {
    "wslEngineEnabled": {
      "locked": false,
      "value": false
    },
    "dockerDaemonOptions": {
      "locked": false,
      "value":"{\"debug\": false}"
    },
    "vpnkitCIDR": {
      "locked": false,
      "value":"192.168.65.0/24"
    }
  },
  "kubernetes": {
     "locked": false,
     "enabled": false,
     "showSystemContainers": false,
     "imagesRepository": ""
  },
  "windowsContainers": {
    "dockerDaemonOptions": {
      "locked": false,
      "value":"{\"debug\": false}"
    }
  },
  "disableUpdate": {
    "locked": false,
    "value": false
  },
  "analyticsEnabled": {
    "locked": false,
    "value": true
  },
  "extensionsEnabled": {
    "locked": true,
    "value": false
  },
  "scout": {
    "locked": false,
    "sbomIndexing": true,
    "useBackgroundIndexing": true
  },
  "allowBetaFeatures": {
    "locked": false,
    "value": false
  },
  "blockDockerLoad": {
    "locked": false,
    "value": true
  },
  "filesharingAllowedDirectories": [
    {
      "path": "$HOME",
      "sharedByDefault": true
    },
    {
      "path":"$TMP",
      "sharedByDefault": false
    }
  ],
  "useVirtualizationFrameworkVirtioFS": {
    "locked": true,
    "value": true
  },
  "useVirtualizationFrameworkRosetta": {
    "locked": true,
    "value": true
  },
  "useGrpcfuse": {
    "locked": true,
    "value": true
  },
  "displayedOnboarding": {
    "locked": true,
    "value": true
  },
  "desktopTerminalEnabled": {
    "locked": false,
    "value": false
  }
}

Étape trois : Redémarrer et appliquer les paramètres

Les paramètres s'appliquent après le redémarrage de Docker Desktop et la connexion de l'utilisateur.

  • Nouvelles installations : Lancez Docker Desktop et connectez-vous.
  • Installations existantes : Quittez complètement Docker Desktop et relancez-le.
Important

Redémarrer Docker Desktop depuis le menu n'est pas suffisant. Il doit être complètement quitté et rouvert.

Configurations admin-settings.json

Général

Paramètre OS Description Version
configurationFileVersion Spécifie la version du format du fichier de configuration.
analyticsEnabled Si value est défini sur false, Docker Desktop n'envoie pas de statistiques d'utilisation à Docker.
disableUpdate Si value est défini sur true, la vérification et les notifications des mises à jour Docker Desktop sont désactivées.
extensionsEnabled Si value est défini sur false, les extensions Docker sont désactivées.
blockDockerLoad Si value est défini sur true, les utilisateurs ne peuvent plus exécuter docker load et reçoivent une erreur s'ils essaient.
displayedOnboarding Si value est défini sur true, l'enquête d'intégration ne sera pas affichée aux nouveaux utilisateurs. Définir value sur false n'a aucun effet. Docker Desktop version 4.30 et ultérieure
desktopTerminalEnabled Si value est défini sur false, les développeurs ne peuvent pas utiliser le terminal Docker pour interagir avec la machine hôte et exécuter des commandes directement depuis Docker Desktop.
exposeDockerAPIOnTCP2375 Windows uniquement Expose l'API Docker sur un port spécifié. Si value est défini sur true, l'API Docker est exposée sur le port 2375. Note : Ceci n'est pas authentifié et ne devrait être activé que si protégé par des règles de pare-feu appropriées.

Partage de fichiers et émulation

Paramètre OS Description Version
filesharingAllowedDirectories Spécifiez quels chemins vos développeurs peuvent ajouter pour le partage de fichiers. Accepte aussi $HOME, $TMP, ou $TEMP comme variables de path. Quand un chemin est ajouté, ses sous-répertoires sont autorisés. Si sharedByDefault est défini sur true, ce chemin sera ajouté lors d'une réinitialisation d'usine ou au premier démarrage de Docker Desktop.
useVirtualizationFrameworkVirtioFS macOS uniquement Si value est défini sur true, VirtioFS est défini comme mécanisme de partage de fichiers. Note : Si useVirtualizationFrameworkVirtioFS et useGrpcfuse ont tous deux value défini sur true, VirtioFS a la priorité. De même, si useVirtualizationFrameworkVirtioFS et useGrpcfuse ont tous deux value défini sur false, osxfs est défini comme mécanisme de partage de fichiers.
useGrpcfuse macOS uniquement Si value est défini sur true, gRPC Fuse est défini comme mécanisme de partage de fichiers.
useVirtualizationFrameworkRosetta macOS uniquement Si value est défini sur true, Docker Desktop active Rosetta pour accélérer l'émulation binaire x86_64/amd64 sur Apple Silicon. Note : Ceci active aussi automatiquement Utiliser le framework de virtualisation. Docker Desktop version 4.29 et ultérieure.

Docker Scout

Paramètre OS Description Version
scout Définir useBackgroundIndexing sur false désactive l'indexation automatique des images chargées dans le magasin d'images. Définir sbomIndexing sur false empêche les utilisateurs de pouvoir indexer une image en l'inspectant dans Docker Desktop ou en utilisant les commandes CLI docker scout.

Proxy

Paramètre OS Description Version
proxy Si mode est défini sur system au lieu de manual, Docker Desktop obtient les valeurs proxy du système et ignore les valeurs définies pour http, https et exclude. Changez mode en manual pour configurer manuellement les serveurs proxy. Si le port proxy est personnalisé, spécifiez-le dans la propriété http ou https, par exemple "https": "http://myotherproxy.com:4321". La propriété exclude spécifie une liste séparée par des virgules d'hôtes et domaines pour contourner le proxy.
       windowsDockerdPort Windows uniquement Expose le proxy interne de Docker Desktop localement sur ce port pour que le daemon Docker Windows s'y connecte. S'il est défini sur 0, un port libre aléatoire est choisi. Si la valeur est supérieure à 0, utilisez cette valeur exacte pour le port. La valeur par défaut est -1 qui désactive l'option.
       enableKerberosNtlm Quand défini sur true, l'authentification Kerberos et NTLM est activée. Par défaut false. Pour plus d'informations, voir la documentation des paramètres. Docker Desktop version 4.32 et ultérieure.

Proxy de conteneurs

Paramètre OS Description Version
containersProxy Crée des conteneurs isolés du réseau. Pour plus d'informations voir Conteneurs Isolés du Réseau. Docker Desktop version 4.29 et ultérieure.

VM Linux

Paramètre OS Description Version
linuxVM Paramètres et options liés aux options de VM Linux - regroupés ici pour plus de commodité.
       wslEngineEnabled Windows uniquement Si value est défini sur true, Docker Desktop utilise le moteur basé sur WSL 2. Ceci remplace tout ce qui aurait pu être défini à l'installation en utilisant le flag --backend=<nom du backend>.
       dockerDaemonOptions Si value est défini sur true, il remplace les options dans le fichier de configuration Docker Engine. Voir la référence Docker Engine. Notez que pour une sécurité renforcée, quelques attributs de configuration peuvent être remplacés quand l'Isolation de Conteneurs Renforcée est activée.
       vpnkitCIDR Remplace la plage réseau utilisée pour vpnkit DHCP/DNS pour *.docker.internal

Conteneurs Windows

Paramètre OS Description Version
windowsContainers Paramètres et options liés aux options windowsContainers - regroupés ici pour plus de commodité.
       dockerDaemonOptions Remplace les options dans le fichier de configuration du daemon Linux. Voir la référence Docker Engine.
Note

Ce paramètre n'est pas disponible pour la configuration via la Console d'Administration Docker.

Kubernetes

Paramètre OS Description Version
kubernetes Si enabled est défini sur true, un cluster Kubernetes à nœud unique est démarré quand Docker Desktop démarre. Si showSystemContainers est défini sur true, les conteneurs Kubernetes sont affichés dans le Tableau de Bord Docker Desktop et quand vous exécutez docker ps. Le paramètre imagesRepository vous permet de spécifier de quel dépôt Docker Desktop tire les images Kubernetes du plan de contrôle.
Note

Lors de l'utilisation du paramètre imagesRepository et de l'Isolation de Conteneurs Renforcée (ECI), ajoutez les images suivantes à la liste d'images de montage de socket Docker ECI :

  • [imagesRepository]/desktop-cloud-provider-kind:*
  • [imagesRepository]/desktop-containerd-registry-mirror:*

Ces conteneurs montent le socket Docker, donc vous devez ajouter les images à la liste d'images ECI. Sinon, ECI bloquera le montage et Kubernetes ne démarrera pas.

Réseau

Paramètre OS Description Version
defaultNetworkingMode Windows et Mac uniquement Définit le protocole IP par défaut pour les nouveaux réseaux Docker : dual-stack (IPv4 + IPv6, par défaut), ipv4only, ou ipv6only. Docker Desktop version 4.42 et ultérieure.
dnsInhibition Windows et Mac uniquement Contrôle le filtrage des enregistrements DNS retournés aux conteneurs. Options : auto (recommandé), ipv4, ipv6, none Docker Desktop version 4.42 et ultérieure.

Pour plus d'informations, voir Réseau.

Fonctionnalités bêta

Important

Pour Docker Desktop versions 4.41 et antérieures, certains de ces paramètres se trouvaient sous l'onglet Fonctionnalités expérimentales de la page Fonctionnalités en développement.

Paramètre OS Description Version
allowBetaFeatures Si value est défini sur true, les fonctionnalités bêta sont activées.
enableDockerAI Si allowBetaFeatures est true, définir enableDockerAI sur true active Docker AI (Ask Gordon) par défaut. Vous pouvez contrôler indépendamment ce paramètre du paramètre allowBetaFeatures.
enableInference Si allowBetaFeatures est true, définir enableInference sur true active Docker Model Runner par défaut. Vous pouvez contrôler indépendamment ce paramètre du paramètre allowBetaFeatures.
        enableInferenceTCP Active le support TCP côté hôte. Ce paramètre nécessite que le paramètre Docker Model Runner soit activé d'abord.
enableDockerMCPToolkit Si allowBetaFeatures est true, définir enableDockerMCPToolkit sur true active la fonctionnalité MCP toolkit par défaut. Vous pouvez contrôler indépendamment ce paramètre du paramètre allowBetaFeatures.
allowExperimentalFeatures Si value est défini sur true, les fonctionnalités expérimentales sont activées. Docker Desktop version 4.41 et antérieure

Isolation de Conteneurs Renforcée

Paramètre OS Description Version
enhancedContainerIsolation Si value est défini sur true, Docker Desktop exécute tous les conteneurs comme non privilégiés, via l'espace de noms utilisateur Linux, les empêche de modifier les configurations sensibles à l'intérieur de la VM Docker Desktop, et utilise d'autres techniques avancées pour les isoler. Pour plus d'informations, voir Isolation de Conteneurs Renforcée.
       dockerSocketMount Par défaut, l'isolation de conteneurs renforcée bloque le montage par liaison du socket Docker Engine dans les conteneurs (par ex., docker run -v /var/run/docker.sock:/var/run/docker.sock ...). Ceci vous permet d'assouplir cela de manière contrôlée. Voir Configuration ECI pour plus d'informations.
              imageList Indique quelles images de conteneur sont autorisées à monter par liaison le socket Docker Engine.
              commandList Restreint les commandes que les conteneurs peuvent émettre via le socket Docker Engine monté par liaison.