サインインを強制するための registry.json の設定

デフォルトでは、組織のメンバーはどの Docker アカウントにもサインインすることなく、自分のマシンで Docker Desktop を使用することができます。ユーザーが組織のメンバーである Docker アカウントにサインインし、組織の設定がユーザのセッションに適用されるようにするには、registry.json ファイルを使用することができます。

registry.json ファイルは、オーナーがユーザーが所属する必要のある Docker 組織を指定し、その組織の設定がユーザーのセッションに適用されるようにするための設定ファイルです。Docker Desktop インストーラーは、インストール プロセスの一部として、このファイルをユーザのマシン上に作成することができます。

ユーザーのマシンで registry.json ファイルが設定されると、Docker Desktop はユーザーにサインインするよう求めます。もしユーザーがサインインしなかったり、registry.json ファイルに記載されている組織とは異なる組織を使用してサインインしようとすると、Docker Desktop へのアクセスは拒否されます。

registry.json ファイルを配置し、ユーザーに認証を強制することは必須ではありませんが、以下のような利点があります。

registry.json ファイルを作成する

registry.json ファイルを作成する前に、ユーザーが Docker Hub の少なくとも 1 つの組織のメンバーであることを確認します。registry.json ファイルがユーザーが所属する少なくとも 1 つの組織と一致する場合、ユーザーは Docker Desktop にサインインしてすべての組織にアクセスすることができます。

ユーザーのオペレーティング システムに基づいて、以下の場所に registry.json ファイルを作成し、そのファイルがユーザーによって編集できないことを確認する必要があります。

Platform Location
Windows /ProgramData/DockerDesktop/registry.json
Mac /Library/Application Support/com.docker.docker/registry.json
Linux /usr/share/docker-desktop/registry/registry.json

registry.json ファイルには、以下の内容を記述する必要があります。myorg は該当する組織名に置き換えてください。


        {
          "allowedOrgs": ["myorg"]
        }
      

ユーザーの OS に基づいて registry.json ファイルを作成することができます。

Windows

Windows では、以下の方法で registry.json ファイルを作成できます。

Windows に Docker Desktop をインストールする際に registry.json を作成する

Docker Desktop のインストール時に registry.json ファイルを自動的に作成するには、Docker Desktop Installer.exe をダウンロードし、Docker Desktop Installer.exe のあるディレクトリから以下のコマンドのいずれかを実行します。myorg を該当する組織名に置き換えてください。

PowerShell を使用している場合:


      PS> Start-Process '.\Docker Desktop Installer.exe' -Wait install --allowed-org=myorg
    

Windows のコマンド プロンプトを使用している場合:


      C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=myorg
    

Windows で registry.json を手動で作成する

手動で registry.json ファイルを作成するには、Admin として次の PowerShell コマンドを実行し、myorg を組織名に置き換えてください。


      PS>  Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["myorg"]}'
    

これにより、C:\ProgramData\DockerDesktop\registry.jsonregistry.json ファイルが作成され、ユーザーが所属する組織情報が含まれます。このファイルはユーザーが編集できないようにし、管理者のみが編集できるようにします。

Mac

Mac の場合、以下の方法で registry.json を作成することができます。

Mac に Docker Desktop をインストールする際に registry.json を作成する

Docker Desktop のインストール時に registry.json ファイルを自動的に作成するには、Docker.dmg をダウンロードし、Docker.dmg のあるディレクトリからターミナルで次のコマンドを実行します。myorg を該当する組織名に置き換えてください。


      $ sudo hdiutil attach Docker.dmg
      $ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=myorg
      $ sudo hdiutil detach /Volumes/Docker
    

Mac で registry.json を手動で作成する

手動で registry.json ファイルを作成するには、ターミナルで以下のコマンドを実行し、myorg を組織名に置き換えてください。


      $ sudo mkdir -p "/Library/Application Support/com.docker.docker"
      $ echo '{"allowedOrgs":["myorg"]}' | sudo tee "/Library/Application Support/com.docker.docker/registry.json"
    

これにより、/Library/Application Support/com.docker.docker/registry.jsonregistry.json ファイルが作成され、ユーザーが所属する組織情報が含まれます。このファイルはユーザーが編集できないようにし、管理者のみが編集できるようにします。

ファイルの内容が正しい情報であることを確認します。


      $ sudo cat "/Library/Application Support/com.docker.docker/registry.json"
      {"allowedOrgs":["myorg"]}
    

ファイルに期待されるパーミッション (-rw-r--r--) と所有権 (rootadmin) があることを確認します。


      $  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

Linux では、以下の方法で registry.json ファイルを作成できます。

Linux で registry.json を手動で作成する

手動で registry.json ファイルを作成するには、ターミナルで以下のコマンドを実行し、myorg を組織名に置き換えてください。


      $ sudo mkdir -p /usr/share/docker-desktop/registry
      $ echo '{"allowedOrgs":["myorg"]}' | sudo tee /usr/share/docker-desktop/registry/registry.json
    

これにより、/usr/share/docker-desktop/registry/registry.jsonregistry.json ファイルが作成され、ユーザーが所属する組織情報が含まれます。このファイルはユーザーが編集できないようにし、管理者のみが編集できるようにします。

ファイルの内容が正しい情報であることを確認します。


      $ sudo cat /usr/share/docker-desktop/registry/registry.json
      {"allowedOrgs":["myorg"]}
    

ファイルに期待されるパーミッション (-rw-r--r--) と所有権 (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
    

変更内容を確認する

registry.json ファイルを作成し、ユーザーのマシンにデプロイした後、ユーザーに Docker Desktop の起動を依頼することで、変更が有効になったかどうかを検証することができます。

設定に成功した場合、Docker Desktop は起動時に組織の認証情報を使用して認証するようユーザーに促します。認証に失敗した場合、ユーザーにはエラーメッセージが表示され、Docker Desktop へのアクセスが拒否されます。