7.0 KiB
Create a registry.json file
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. The file contents are case-sensitive and you must use lowercase letters for 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
Windows
On Windows, you can use the following methods to create a registry.json file.
Create registry.json when installing Docker Desktop on Windows
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 and you must use lowercase letters for 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
Create registry.json manually on Windows
To manually create a registry.json file, run the following PowerShell command as an Admin and replace myorg with your organization's name. The file contents are case-sensitive and you must use lowercase letters for 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...
Mac
On Mac, you can use the following methods to create a registry.json file.
Create registry.json when installing Docker Desktop on Mac
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 and you must use lowercase letters for 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
Create registry.json manually on Mac
To manually create a registry.json file, run the following commands in a terminal
and replace myorg with your organization's name. The file contents are case-sensitive and you must use lowercase letters for 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
Linux
On Linux, you can use the following methods to create a registry.json file.
Create registry.json manually on Linux
To manually create a registry.json file, run the following commands in a terminal
and replace myorg with your organization's name. The file contents are case-sensitive and you must use lowercase letters for 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