Configurer la Gestion des Paramètres avec un fichier JSON
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.
ImportantSi 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
- Mac :
ImportantPlacez 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
TipPour 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
.
NoteCertains 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.
ImportantRedé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. |
NoteCe 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. |
NoteLors 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
ImportantPour 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. |