Configure sign-in enforcement
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:
- 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:
- 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 - In Group Policy Management, create or edit a GPO.
- Navigate to Computer Configuration > Preferences > Windows Settings > Registry.
- Right-click Registry > New > Registry Item.
- Configure the registry item:
- Action: Update
- Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop- Value name:allowedOrgs- Value data: Your organization names - Link the GPO to the target Organizational Unit.
- Test on a small group using
gpupdate/force. - Deploy organization-wide after verification.
{{< /tab >}} {{< /tabs >}}
Mac: Configuration profiles method (recommended)#
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 overoverrideProxyPAC.
Overriding at least one of the proxy settings via Configuration profiles will automatically lock the settings as they're managed by Mac.
- Create a file named
docker.mobileconfigand include the following content: ```xml
``
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" >}}
- Create the file
/Library/Application Support/com.docker.docker/desktop.plist. - Add this content, replacing
myorg1andmyorg2with your organization names and making sure they have lowercase letters only: ```xml
``
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" >}}
- Ensure users are members of your Docker organization.
- Create the
registry.jsonfile at the appropriate location for your platform. - Add this content, replacing organization names with your own and making sure they have lowercase letters only:
json { "allowedOrgs": ["myorg1", "myorg2"] } - Set file permissions to prevent user editing.
- Restart Docker Desktop.
- 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-orgflag accepts only one organization. To enforce sign-in for multiple organizations on Mac, configure theregistry.jsonfile 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-orgflag accepts only one organization. To enforce sign-in for multiple organizations on Mac, configure theregistry.jsonfile after installation.
{{< /tab >}} {{< /tabs >}}
Method precedence#
When multiple configuration methods exist on the same system, Docker Desktop uses this precedence order:
- Registry key (Windows only)
- Configuration profiles (Mac only)
- plist file (Mac only)
- 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