Documentación offline Docker main
por @raupulus

Configure sign-in enforcement

main Documentación oficial Licencia Apache-2.0Descargado el 2026-09-15 Bundle .md (6.1 MB) ↓

En esta página

{{< summary-bar feature_name="Enforce sign-in" >}}

You can enforce sign-in for Docker Desktop using several methods. Choose the method that best fits your organization's infrastructure and security requirements.

Choose your method#

Method Platform
Registry key Windows only
Configuration profiles Mac only
plist file Mac only
registry.json All platforms

[!TIP]

For Mac, configuration profiles offer the highest security because they're protected by Apple's System Integrity Protection (SIP).

Windows: Registry key method#

{{< tabs >}} {{< tab name="Manual setup" >}}

To configure the registry key method manually:

  1. Create the registry key:

console $ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop 1. Create a multi-string value name allowedOrgs. 1. Use your organization names as string data. You can add multiple organizations: - Use lowercase letters only - Add each organization on a separate line - Do not use spaces or commas as separators 1. Restart Docker Desktop. 1. Verify the Sign in required! prompt appears in Docker Desktop.

{{< /tab >}} {{< tab name="Group Policy deployment" >}}

Deploy the registry key across your organization using Group Policy:

  1. Create a registry script with the following structure: - Path: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop - Value name: allowedOrgs (multi-string) - Value data: Your organization names, one per line, in lowercase only
  2. In Group Policy Management, create or edit a GPO.
  3. Navigate to Computer Configuration > Preferences > Windows Settings > Registry.
  4. Right-click Registry > New > Registry Item.
  5. Configure the registry item: - Action: Update - Path: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop - Value name: allowedOrgs - Value data: Your organization names
  6. Link the GPO to the target Organizational Unit.
  7. Test on a small group using gpupdate/force.
  8. Deploy organization-wide after verification.

{{< /tab >}} {{< /tabs >}}

Configuration profiles provide the most secure enforcement method for Mac, as they're protected by Apple's System Integrity Protection.

The payload is a dictionary of key-values. Docker Desktop supports the following keys:

  • allowedOrgs: Sets a list of organizations in one single string, where each organization is in lowercase only and is separated by a semi-colon.
  • overrideProxyHTTP: Sets the URL of the HTTP proxy that must be used for outgoing HTTP requests.
  • overrideProxyHTTPS: Sets the URL of the HTTP proxy that must be used for outgoing HTTPS requests.
  • overrideProxyExclude: Bypasses proxy settings for the specified hosts and domains. Uses a comma-separated list.
  • overrideProxyPAC: Sets the file path where the PAC file is located. It has precedence over the remote PAC file on the selected proxy.
  • overrideProxyEmbeddedPAC: Sets the content of an in-memory PAC file. It has precedence over overrideProxyPAC.

Overriding at least one of the proxy settings via Configuration profiles will automatically lock the settings as they're managed by Mac.

  1. Create a file named docker.mobileconfig and include the following content: ```xml

PayloadContent PayloadType com.docker.config PayloadVersion 1 PayloadIdentifier com.docker.config PayloadUUID eed295b0-a650-40b0-9dda-90efb12be3c7 PayloadDisplayName Docker Desktop Configuration PayloadDescription Configuration profile to manage Docker Desktop settings. PayloadOrganization Your company name allowedOrgs first_org;second_org overrideProxyHTTP http://company.proxy:port overrideProxyHTTPS https://company.proxy:port PayloadType Configuration PayloadVersion 1 PayloadIdentifier com.yourcompany.docker.config PayloadUUID 0deedb64-7dc9-46e5-b6bf-69d64a9561ce PayloadDisplayName Docker Desktop Config Profile PayloadDescription Config profile to enforce Docker Desktop settings for allowed organizations. PayloadOrganization Your company name `` 1. Replace placeholders: - Changecom.yourcompany.docker.configto your company identifier - ReplaceYour company namewith your organization name making sure it is all lowercase - ReplacePayloadUUIDwith a randomly generated UUID - Update theallowedOrgsvalue with your organization names (separated by semicolons) - Replacecompany.proxy:port` with http/https proxy server host(or IP address) and port 1. Deploy the profile using your MDM solution. 1. Verify the profile appears in System Settings > General > Device Management under Device (Managed). Ensure the profile is listed with the correct name and settings.

Some MDM solutions let you specify the payload as a plain dictionary of key-value settings without the full .mobileconfig wrapper:

<dict>
   <key>allowedOrgs</key>
   <string>first_org;second_org</string>
   <key>overrideProxyHTTP</key>
   <string>http://company.proxy:port</string>
   <key>overrideProxyHTTPS</key>
   <string>https://company.proxy:port</string>
</dict>

Mac: plist file method#

{{< tabs >}} {{< tab name="Manual creation" >}}

  1. Create the file /Library/Application Support/com.docker.docker/desktop.plist.
  2. Add this content, replacing myorg1 and myorg2 with your organization names and making sure they have lowercase letters only: ```xml

allowedOrgs myorg1 myorg2 `` 1. Set file permissions to prevent editing by non-administrator users. 1. Restart Docker Desktop. 1. Verify theSign in required!` prompt appears in Docker Desktop.

{{< /tab >}} {{< tab name="Shell script deployment" >}}

Create and deploy a script for organization-wide distribution:

#!/bin/bash

# Create directory if it doesn't exist
sudo mkdir -p "/Library/Application Support/com.docker.docker"

# Write the plist file
sudo defaults write "/Library/Application Support/com.docker.docker/desktop.plist" allowedOrgs -array "myorg1" "myorg2"

# Set appropriate permissions
sudo chmod 644 "/Library/Application Support/com.docker.docker/desktop.plist"
sudo chown root:admin "/Library/Application Support/com.docker.docker/desktop.plist"

Deploy this script using SSH, remote support tools, or your preferred deployment method.

{{< /tab >}} {{< /tabs >}}

All platforms: registry.json method#

The registry.json method works across all platforms and offers flexible deployment options.

File locations#

Create the registry.json file (UTF-8 without BOM) at the appropriate location:

Platform Location
Windows /ProgramData/DockerDesktop/registry.json
Mac /Library/Application Support/com.docker.docker/registry.json
Linux /usr/share/docker-desktop/registry/registry.json

Basic setup#

{{< tabs >}} {{< tab name="Manual creation" >}}

  1. Ensure users are members of your Docker organization.
  2. Create the registry.json file at the appropriate location for your platform.
  3. Add this content, replacing organization names with your own and making sure they have lowercase letters only: json { "allowedOrgs": ["myorg1", "myorg2"] }
  4. Set file permissions to prevent user editing.
  5. Restart Docker Desktop.
  6. Verify the Sign in required! prompt appears in Docker Desktop.

[!TIP]

If users have issues starting Docker Desktop after enforcing sign-in, they may need to update to the latest version.

{{< /tab >}} {{< tab name="Command line setup" >}}

Windows (PowerShell as Administrator)#

Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["myorg1","myorg2"]}'

Mac#

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

Linux#

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

{{< /tab >}} {{< tab name="Installation-time setup" >}}

Create the registry.json file during Docker Desktop installation:

Windows#

# PowerShell
Start-Process '.\Docker Desktop Installer.exe' -Wait 'install --allowed-org=myorg'

# Command Prompt
"Docker Desktop Installer.exe" install --allowed-org=myorg1

[!NOTE]

The --allowed-org flag accepts only one organization. To enforce sign-in for multiple organizations on Mac, configure the registry.json file after installation.

Mac#

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

[!NOTE]

The --allowed-org flag accepts only one organization. To enforce sign-in for multiple organizations on Mac, configure the registry.json file after installation.

{{< /tab >}} {{< /tabs >}}

Method precedence#

When multiple configuration methods exist on the same system, Docker Desktop uses this precedence order:

  1. Registry key (Windows only)
  2. Configuration profiles (Mac only)
  3. plist file (Mac only)
  4. registry.json file

Troubleshoot sign-in enforcement#

If sign-in enforcement doesn't work:

  • Verify file locations and permissions
  • Check that organization names use lowercase letters
  • Restart Docker Desktop or reboot the system
  • Confirm users are members of the specified organizations
  • Update Docker Desktop to the latest version