You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gated distribution allows publishers to securely share private container images with external customers or partners, without giving them full organization access or visibility into your teams, collaborators, or other repositories.
141
+
142
+
This feature is ideal for commercial software publishers who want to control who can pull specific images while preserving a clean separation between internal users and external consumers.
143
+
144
+
### Key features
145
+
146
+
-**Private repository distribution**: Content is stored in private repositories and only accessible to explicitly invited users.
147
+
148
+
-**External access without organization membership**: External users don't need to be added to your internal organization to pull images.
149
+
150
+
-**Pull-only permissions**: External users receive pull-only access and cannot push or modify repository content.
151
+
152
+
-**Invite-only access**: Access is granted through authenticated email invites, managed via API.
153
+
154
+
### Invite distributor members via API
155
+
156
+
> [!NOTE]
157
+
> When you invite members, you assign them a role. See [Roles and permissions](/manuals/security/for-admins/roles-and-permissions.md) for details about the access permissions for each role.
158
+
159
+
Distributor members (used for gated distribution) can only be invited using the Docker Hub API. UI-based invitations are not currently supported for this role. To invite distributor members, use the Bulk create invites API endpoint.
160
+
161
+
To invite distributor members:
162
+
163
+
1. Use the [Authentication API](https://docs.docker.com/reference/api/hub/latest/#tag/authentication-api/operation/AuthCreateAccessToken) to generate a bearer token for your Docker Hub account.
164
+
165
+
2. Create a team in the Hub UI or use the [Teams API](https://docs.docker.com/reference/api/hub/latest/#tag/groups/paths/~1v2~1orgs~1%7Borg_name%7D~1groups/post).
166
+
167
+
3. Grant repository access to the team:
168
+
- In the Hub UI: Navigate to your repository settings and add the team with "Read-only" permissions
169
+
- Using the [Repository Teams API](https://docs.docker.com/reference/api/hub/latest/#tag/repositories/paths/~1v2~1repositories~1%7Bnamespace%7D~1%7Brepository%7D~1groups/post): Assign the team to your repositories with "read-only" access level
170
+
171
+
4. Use the [Bulk create invites endpoint](https://docs.docker.com/reference/api/hub/latest/#tag/invites/paths/~1v2~1invites~1bulk/post) to send email invites with the distributor member role. In the request body, set the "role" field to "distributor_member".
172
+
173
+
5. The invited user will receive an email with a link to accept the invite. After signing in with their Docker ID, they'll be granted pull-only access to the specified private repository as a distributor member.
Settings Management helps you control key Docker Desktop settings, like proxies and network configurations, on your developers' machines within your organization.
16
-
17
-
For an extra layer of security, you can also use Settings Management to enable and lock in [Enhanced Container Isolation](../enhanced-container-isolation/_index.md), which prevents containers from modifying any Settings Management configurations.
15
+
Settings Management lets administrators configure and enforce Docker Desktop
16
+
settings across ennd-user machines. It helps maintain consistent configurations
17
+
and enhances security within your organization.
18
18
19
19
## Who is it for?
20
20
21
-
- For organizations that want to configure Docker Desktop to be within their organization's centralized control.
22
-
- For organizations that want to create a standardized Docker Desktop environment at scale.
23
-
- For Docker Business customers who want to confidently manage their use of Docker Desktop within tightly regulated environments.
21
+
Settings Management is designed for organizations that:
22
+
23
+
- Require centralized control over Docker Desktop configurations.
24
+
- Aim to standardize Docker Desktop environments across teams.
25
+
- Operate in regulated environments and need to enforce compliance.
24
26
25
-
## How does it work?
27
+
This feature is available with a Docker Business subscription.
26
28
27
-
You can configure several Docker Desktop settings using either:
29
+
## How it works
28
30
29
-
- An `admin-settings.json` file. This file is located on the Docker Desktop host and can only be accessed by developers with root or administrator privileges.
30
-
- Creating a settings policy in the Docker Admin Console.
31
+
Administrators can define settings using one of the following methods:
31
32
32
-
Settings that are defined by an administrator override any previous values set by developers and ensure that these cannot be modified.
33
+
-[Admin Console](/manuals/security/for-admins/hardened-desktop/settings-management/configure-admin-console.md): Create and assign settings policies through the
34
+
Docker Admin Console.
35
+
-[`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md): Place a configuration file on the
36
+
user's machine to enforce settings.
33
37
34
-
## What features can I configure with Settings Management?
38
+
Enforced settings override user-defined configurations and can't be modified
39
+
by developers.
35
40
36
-
Using the `admin-settings.json` file, you can:
41
+
## Configurable settings
37
42
38
-
- Turn on and lock in [Enhanced Container Isolation](../enhanced-container-isolation/_index.md)
39
-
- Configure HTTP proxies
40
-
- Configure network settings
41
-
- Configure Kubernetes settings
42
-
- Enforce the use of WSL 2 based engine or Hyper-V
43
-
- Enforce the use of Rosetta for x86_64/amd64 emulation on Apple Silicon
44
-
- Configure Docker Engine
45
-
- Turn off Docker Desktop's ability to checks for updates
46
-
- Turn off Docker Extensions
47
-
- Turn off Docker Scout SBOM indexing
48
-
- Turn off beta and experimental features
49
-
- Turn off Docker AI ([Ask Gordon](/manuals/ai/gordon/_index.md))
50
-
- Turn off Docker Desktop's onboarding survey
51
-
- Control whether developers can use the Docker terminal
52
-
- Control the file sharing implementation for your developers on macOS
53
-
- Specify which paths your developers can add file shares to
54
-
- Configure Air-gapped containers
43
+
Settings Management supports a broad range of Docker Desktop features,
44
+
including proxies, network configurations, and container isolation.
55
45
56
-
For more details on the syntax and options, see [Configure Settings Management](configure-json-file.md).
46
+
For a full list of settings you can enforce, see the [Settings reference](/manuals/security/for-admins/hardened-desktop/settings-management/settings-reference.md).
57
47
58
-
## How do I set up and enforce Settings Management?
48
+
## Set up Settings Management
59
49
60
-
You first need to [enforce sign-in](/manuals/security/for-admins/enforce-sign-in/_index.md) to ensure that all Docker Desktop developers authenticate with your organization. Since the Settings Management feature requires a Docker Business subscription, enforced sign-in guarantees that only authenticated users have access and that the feature consistently takes effect across all users, even though it may still work without enforced sign-in.
50
+
1.[Enforce sign-in](/manuals/security/for-admins/enforce-sign-in/_index.md) to
51
+
ensure all developers authenticate with your organization.
52
+
2. Choose a configuration method:
53
+
- Use the `--admin-settings` installer flag on [macOS](/manuals/desktop/setup/install/mac-install.md#install-from-the-command-line) or [Windows](/manuals/desktop/setup/install/windows-install.md#install-from-the-command-line) to automatically create the `admin-settings.json`.
54
+
- Manually create and configure the [`admin-settings.json` file](/manuals/security/for-admins/hardened-desktop/settings-management/configure-json-file.md).
55
+
- Create a settings policy in the [Docker Admin Console](configure-admin-console.md).
61
56
62
-
Next, you must either:
63
-
- Manually [create and configure the `admin-settings.json` file](configure-json-file.md), or use the `--admin-settings` installer flag on [macOS](/manuals/desktop/setup/install/mac-install.md#install-from-the-command-line) or [Windows](/manuals/desktop/setup/install/windows-install.md#install-from-the-command-line) to automatically create the `admin-settings.json` and save it in the correct location.
64
-
- Fill out the **Settings policy** creation form in the [Docker Admin Console](configure-admin-console.md).
57
+
After configuration, developers receive the enforced setting when they:
65
58
66
-
Once this is done, Docker Desktop developers receive the changed settings when they either:
67
-
- Quit, re-launch, and sign in to Docker Desktop
68
-
- Launch and sign in to Docker Desktop for the first time
59
+
- Quit and relaunch Docker Desktop, then sign in.
60
+
- Launch and sign in to Docker Desktop for the first time.
69
61
70
-
To avoid disrupting your developers' workflows, Docker doesn't automatically require that developers re-launch and re-authenticate once a change has been made.
62
+
> [!NOTE]
63
+
>
64
+
> Docker Desktop does not automatically prompt users to restart or re-authenticate
65
+
after a settings change.
71
66
72
-
## What do developers see when the settings are enforced?
67
+
## Developer experience
73
68
74
-
Enforced settings appear grayed out in Docker Desktop. They can't be edited via the Docker Desktop Dashboard, CLI, or `settings-store.json` (or `settings.json` for Docker Desktop 4.34 and earlier).
69
+
When settings are enforced:
75
70
76
-
In addition, if Enhanced Container Isolation is enforced, developers can't use privileged containers or similar techniques to modify enforced settings within the Docker Desktop Linux VM. For example, they can't reconfigure proxy and networking, or Docker Engine.
71
+
- Options appear grayed out in Docker Desktop and can't be modified via the
72
+
Dashboard, CLI, or configuration files.
73
+
- If Enhanced Container Isolation is enabled, developers can't use privileged
74
+
containers or similar methods to alter enforced settings within the Docker
75
+
Desktop Linux VM.
77
76
78
77
## What's next?
79
78
80
-
-[Configure Settings Management with a `.json` file](configure-json-file.md)
79
+
-[Configure Settings Management with the `admin-settings.json` file](configure-json-file.md)
81
80
-[Configure Settings Management with the Docker Admin Console](configure-admin-console.md)
81
+
82
+
## Learn more
83
+
84
+
To see how each Docker Desktop setting maps across the Docker Dashboard, `admin-settings.json` file, and Admin Console, see the [Settings reference](settings-reference.md).
0 commit comments