Before creating a registry.json
file, ensure that the user is a member of
at least one organization in Docker Hub. If the registry.json
file matches at
least one organization the user is a member of, they can sign in to Docker
Desktop and access all their organizations.
Based on the user's operating system, you must create a registry.json
file at the following location and make sure the file can't be edited by the user:
Platform | Location |
---|---|
Windows | /ProgramData/DockerDesktop/registry.json |
Mac | /Library/Application Support/com.docker.docker/registry.json |
Linux | /usr/share/docker-desktop/registry/registry.json |
The registry.json
file must contain the following contents, where myorg
is replaced with your organization's name.
{
"allowedOrgs": ["myorg"]
}
In Docker Hub, you can download the registry.json
file for your organization or copy the specific commands to create the file for your organization. To download the file or copy the commands from Docker Hub:
- Log in to Docker Hub{: target="blank" rel="noopener" class=""} as an organization owner.
- Go to Organizations > Your Organization > Settings.
- Select Enforce Sign-in and continue with the on-screen instructions for Windows, Mac, or Linux.
Alternatively, you can use the following methods to create a registry.json
file based on the user's operating system.
- Windows
- Mac
- Linux
On Windows, you can use the following methods to create a registry.json
file.
To automatically create a registry.json
file when installing Docker Desktop, download Docker Desktop Installer.exe
and run one of the following commands from the directory containing Docker Desktop Installer.exe
. Replace myorg
with your organization's name.
If you're using PowerShell:
PS> Start-Process '.\Docker Desktop Installer.exe' -Wait install --allowed-org=myorg
If you're using the Windows Command Prompt:
C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=myorg
To manually create a registry.json
file, run the following PowerShell command as an Admin and replace myorg
with your organization's name:
PS> Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["myorg"]}'
This creates the registry.json
file at C:\ProgramData\DockerDesktop\registry.json
and includes the organization information the user belongs to. Make sure this file can't be edited by the user, only by the administrator:
PS C:\ProgramData\DockerDesktop> Get-Acl .\registry.json
Directory: C:\ProgramData\DockerDesktop
Path Owner Access
---- ----- ------
registry.json BUILTIN\Administrators NT AUTHORITY\SYSTEM Allow FullControl...
On Mac, you can use the following methods to create a registry.json
file.
To automatically create a registry.json file when installing Docker Desktop, download Docker.dmg
and run the following commands in a terminal from the directory containing Docker.dmg
. Replace myorg
with your organization's name.
$ sudo hdiutil attach Docker.dmg
$ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=myorg
$ sudo hdiutil detach /Volumes/Docker
To manually create a registry.json
file, run the following commands in a terminal
and replace myorg
with your organization's name.
$ sudo mkdir -p "/Library/Application Support/com.docker.docker"
$ echo '{"allowedOrgs":["myorg"]}' | sudo tee "/Library/Application Support/com.docker.docker/registry.json"
This creates (or updates, if the file already exists) the registry.json
file
at /Library/Application Support/com.docker.docker/registry.json
and includes
the organization information the user belongs to. Make sure the file has the
expected content and can't be edited by the user, only by the administrator.
Verify that the content of the file contains the correct information:
$ sudo cat "/Library/Application Support/com.docker.docker/registry.json"
{"allowedOrgs":["myorg"]}
Verify that the file has the expected permissions (-rw-r--r--
) and ownership
(root
and admin
):
$ sudo ls -l "/Library/Application Support/com.docker.docker/registry.json"
-rw-r--r-- 1 root admin 26 Jul 27 22:01 /Library/Application Support/com.docker.docker/registry.json
On Linux, you can use the following methods to create a registry.json
file.
To manually create a registry.json
file, run the following commands in a terminal
and replace myorg
with your organization's name.
$ sudo mkdir -p /usr/share/docker-desktop/registry
$ echo '{"allowedOrgs":["myorg"]}' | sudo tee /usr/share/docker-desktop/registry/registry.json
This creates (or updates, if the file already exists) the registry.json
file
at /usr/share/docker-desktop/registry/registry.json
and includes
the organization information to which the user belongs. Make sure the file has the
expected content and can't be edited by the user, only by root.
Verify that the content of the file contains the correct information:
$ sudo cat /usr/share/docker-desktop/registry/registry.json
{"allowedOrgs":["myorg"]}
Verify that the file has the expected permissions (-rw-r--r--
) and ownership
(root
):
$ sudo ls -l /usr/share/docker-desktop/registry/registry.json
-rw-r--r-- 1 root root 26 Jul 27 22:01 /usr/share/docker-desktop/registry/registry.json