注意
Registry Access Management は、Docker Business ユーザーのみ利用できます。
Registry Access Management (RAM) により、管理者は Docker Desktop を使用する開発者が許可されたレジストリのみにアクセスできるようにすることが可能です。これは Docker Hub の Registry Access Management ダッシュボードで行います。
Registry Access Management は、クラウドとオンプレミスの両方のレジストリをサポートしています。管理者が許可できるレジストリの例には以下が含まれます。
サインインを強制するため、registry.json を設定する必要があります。Registry Access Management を有効にするには、Docker Desktop ユーザーが組織に認証される必要があります。
Registry Access Management 権限を設定するには、次の操作を行います。
Registry Access Management を切り替えて、レジストリの権限を設定します。
注意
有効にすると、Docker Hub レジストリがデフォルトで設定されますが、開発者に対してこのレジストリを制限することもできます。
レジストリがリストに表示されたことを確認し、[Save & Apply] をクリックします。変更が保存されたことは、[Activity] タブで確認できます。追加できるレジストリの数に制限はありません。
注意
レジストリを追加すると、開発者のマシンに変更が反映されるまで最大 24 時間かかります。変更をすぐに適用したい場合は、開発者のマシンで Docker ログアウトを強制し、開発者に Docker Desktop を再認証してもらう必要があります。
ヒント
RAM はコンテンツの取得先に関するポリシーを設定するため、ADD 命令のパラメーターが URL の場合、Dockerfile の ADD 命令もレジストリの制限を受けます。組織の Registry Access Management 設定で、URL パラメーターのドメインを許可されたレジストリ アドレスのリストに追加することを推奨します。
新しい Registry Access Management ポリシーは、開発者が組織の認証情報を使用して Docker Desktop の認証に成功した後に有効になります。開発者が Docker CLI 経由で許可されていないレジストリからイメージをプルしようとすると、組織がこのレジストリを許可していないというエラー メッセージが表示されます。
Registry Access Management を使用する場合、いくつかの制限があります。
docker buildx
などのビルドは制限されません。docker buildx
などのビルドは制限されません。また、Registry Access Management は IP アドレスではなく、ホストのレベルで動作します。開発者は、ローカル プロキシに対して Docker を実行したり、オペレーティング システムの sts
ファイルを変更するなどして、ドメイン解決内でこの制限をバイパスできます。Docker Desktop では、このような操作のブロックはサポートしていません。