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
Copy file name to clipboardExpand all lines: content/manuals/admin/faqs/general-faqs.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Additionally, you can't reuse a Docker ID in the future if you deactivate your a
27
27
28
28
### What if my Docker ID is taken?
29
29
30
-
All Docker IDs are first-come, first-served except for companies that have a US Trademark on a username. If you have a trademark for your namespace, [Docker Support](https://hub.docker.com/support/contact/) can retrieve the Docker ID for you.
30
+
All Docker IDs are first-come, first-served except for companies that have a U.S. Trademark on a username. If you have a trademark for your namespace, [Docker Support](https://hub.docker.com/support/contact/) can retrieve the Docker ID for you.
31
31
32
32
### What’s an organization?
33
33
@@ -66,7 +66,7 @@ The organization owner can also add additional owners to help them manage users,
66
66
67
67
### Can I configure multiple SSO identity providers (IdPs) to authenticate users to a single org?
68
68
69
-
Docker SSO allows only one IdP configuration per organization. For more
69
+
Yes. Docker SSO supports multiple IdP configurations. For more
70
70
information, see [Configure SSO](../../security/for-admins/single-sign-on/configure/_index.md) and [SSO FAQs](../../security/faqs/single-sign-on/faqs.md).
|`src`|`cache-from`| String || Path of the local directory where cache gets imported from. |
30
30
|`digest`|`cache-from`| String || Digest of manifest to import, see [cache versioning][4]. |
31
31
|`dest`|`cache-to`| String || Path of the local directory where cache gets exported to. |
32
32
|`mode`|`cache-to`|`min`,`max`|`min`| Cache layers to export, see [cache mode][1]. |
33
33
|`oci-mediatypes`|`cache-to`|`true`,`false`|`true`| Use OCI media types in exported manifests, see [OCI media types][2]. |
34
-
|`image-manifest`|`cache-to`|`true`,`false`|`false`| When using OCI media types, generate an image manifest instead of an image index for the cache image, see [OCI media types][2]. |
34
+
|`image-manifest`|`cache-to`|`true`,`false`|`true`| When using OCI media types, generate an image manifest instead of an image index for the cache image, see [OCI media types][2]. |
35
35
|`compression`|`cache-to`|`gzip`,`estargz`,`zstd`|`gzip`| Compression type, see [cache compression][3]. |
36
36
|`compression-level`|`cache-to`|`0..22`|| Compression level, see [cache compression][3]. |
37
37
|`force-compression`|`cache-to`|`true`,`false`|`false`| Forcibly apply compression, see [cache compression][3]. |
|`ref`|`cache-to`,`cache-from`| String || Full name of the cache image to import. |
42
42
|`mode`|`cache-to`|`min`,`max`|`min`| Cache layers to export, see [cache mode][1]. |
43
43
|`oci-mediatypes`|`cache-to`|`true`,`false`|`true`| Use OCI media types in exported manifests, see [OCI media types][2]. |
44
-
|`image-manifest`|`cache-to`|`true`,`false`|`false`| When using OCI media types, generate an image manifest instead of an image index for the cache image, see [OCI media types][2]. |
44
+
|`image-manifest`|`cache-to`|`true`,`false`|`true`| When using OCI media types, generate an image manifest instead of an image index for the cache image, see [OCI media types][2]. |
45
45
|`compression`|`cache-to`|`gzip`,`estargz`,`zstd`|`gzip`| Compression type, see [cache compression][3]. |
46
46
|`compression-level`|`cache-to`|`0..22`|| Compression level, see [cache compression][3]. |
47
47
|`force-compression`|`cache-to`|`true`,`false`|`false`| Forcibly apply compression, see [cache compression][3]. |
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.
description: Learn about immutable tags and how they help maintain image version consistency on Docker Hub.
3
+
keywords: Docker Hub, Hub, repository content, tags, immutable tags, version control
4
+
title: Immutable tags on Docker Hub
5
+
linkTitle: Immutable tags
6
+
weight: 11
7
+
---
8
+
{{< summary-bar feature_name="Immutable tags" >}}
9
+
10
+
Immutable tags provide a way to ensure that specific image versions remain unchanged once they are published to Docker Hub. This feature helps maintain consistency and reliability in your container deployments by preventing accidental overwrites of important image versions.
11
+
12
+
## What are immutable tags?
13
+
14
+
Immutable tags are image tags that, once pushed to Docker Hub, cannot be overwritten or deleted. This ensures that a specific version of an image remains exactly the same throughout its lifecycle, providing:
15
+
16
+
- Version consistency
17
+
- Reproducible builds
18
+
- Protection against accidental overwrites
19
+
- Better security and compliance
20
+
21
+
## Enable immutable tags
22
+
23
+
To enable immutable tags for your repository:
24
+
25
+
1. Sign in to [Docker Hub](https://hub.docker.com).
26
+
2. Select **My Hub** > **Repositories**.
27
+
3. Select the repository where you want to enable immutable tags.
28
+
4. Select the **Settings** tab
29
+
5. Under **Tag mutability settings**, select **Immutable**.
30
+
6. Select **Save**.
31
+
32
+
Once enabled, all tags are locked to their specific images, ensuring that each tag always points to the same image version and cannot be modified.
33
+
34
+
> [!NOTE]
35
+
>
36
+
> All tags in the repository become immutable, including the `latest` tag.
37
+
38
+
## Working with immutable tags
39
+
40
+
When immutable tags are enabled:
41
+
42
+
- You cannot push a new image with the same tag name
43
+
- You must use a new tag name for each new image version
44
+
45
+
To push an image, create a new tag for your updated image and push it to the repository.
0 commit comments