为扩展配置私有市场
测试版
此功能目前处于 测试版。它仅适用于 Docker Business 客户。
了解如何配置和设置包含 Docker Desktop 用户精选扩展列表的私有市场。
它专为
Docker Extensions 的私有市场专为不允许开发者访问其机器 root 权限的组织而设计。它利用 设置管理,以便管理员可以完全控制私有市场。
先决条件
- 下载并安装 Docker Desktop 4.26.0 或更高版本.
- 您必须是组织的管理员。
- 您可以通过设备管理软件(例如 Jamf)将 `extension-marketplace` 文件夹和 `admin-settings.json` 文件推送到下面指定的地址。
第一步:初始化私有市场
在本地创建一个文件夹,用于将要部署到开发者机器上的内容。
$ mkdir my-marketplace $ cd my-marketplace
初始化市场配置。
$ /Applications/Docker.app/Contents/Resources/bin/extension-admin init
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin init
$ /opt/docker-desktop/extension-admin init
这将创建 2 个文件:
- `admin-settings.json`,应用到开发者机器上的 Docker Desktop 后,将激活私有市场功能。
- `extensions.txt`,确定在私有市场中列出哪些扩展。
第二步:设置行为
生成的 `admin-settings.json` 文件包含您可以修改的各种设置。
每个设置都有一个 `value` 值,您可以设置该值,包括一个 `locked` 字段,允许您锁定设置并使其无法被您的开发人员更改。
`extensionsEnabled` 启用 Docker 扩展。
extensionsPrivateMarketplace
启用私有市场,并确保 Docker Desktop 连接到由管理员定义和控制的内容,而不是公共 Docker 市场。onlyMarketplaceExtensions
允许或阻止开发人员使用命令行安装其他扩展。开发新扩展的团队必须解锁此设置 ("locked": false
) 才能安装和测试正在开发的扩展。extensionsPrivateMarketplaceAdminContactURL
定义一个联系链接,供开发人员请求私有市场中的新扩展。如果value
为空,则不会在 Docker Desktop 上向您的开发人员显示任何链接,否则可以是 HTTP 链接或“mailto:”链接。例如:"extensionsPrivateMarketplaceAdminContactURL": { "locked": true, "value": "mailto:admin@acme.com" }
要了解有关 admin-settings.json
文件的更多信息,请参阅 设置管理。
第三步:列出允许的扩展
生成的 extensions.txt
文件定义了私有市场中可用扩展的列表。
文件中的每一行都是一个允许的扩展,并遵循 org/repo:tag
的格式。
例如,如果要允许磁盘使用扩展,则应将以下内容输入到 extensions.txt
文件中:
docker/disk-usage-extension:0.2.8
如果未提供标签,则使用该镜像可用的最新标签。您也可以使用 #
注释掉行,以便忽略该扩展。
此列表可以包含不同类型的扩展镜像:
- 来自公共市场或存储在 Docker Hub 中的任何公共镜像的扩展。
- 存储在 Docker Hub 中作为私有镜像的扩展镜像。开发人员需要登录并具有对此类镜像的拉取访问权限。
- 存储在私有注册表中的扩展镜像。开发人员需要登录并具有对此类镜像的拉取访问权限。
重要
您的开发人员只能安装您列出的扩展版本。
第四步:生成私有市场
准备好extensions.txt
中的列表后,您可以生成市场。
$ /Applications/Docker.app/Contents/Resources/bin/extension-admin generate
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin generate
$ /opt/docker-desktop/extension-admin generate
这将创建一个extension-marketplace
目录并下载所有允许扩展的市场元数据。
市场内容由扩展镜像信息(作为镜像标签)生成,这与公共扩展的格式相同。它包括扩展标题、描述、屏幕截图、链接等。
第五步:测试私有市场设置
建议您在 Docker Desktop 安装中试用私有市场。
在您的终端中运行以下命令。此命令会自动将生成的 文件复制到 Docker Desktop 读取配置文件的位置。根据您的操作系统,该位置为:
- Mac:
/Library/Application\ Support/com.docker.docker
- Windows:
C:\ProgramData\DockerDesktop
- Linux:
/usr/share/docker-desktop
$ sudo /Applications/Docker.app/Contents/Resources/bin/extension-admin apply
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin apply
$ sudo /opt/docker-desktop/extension-admin apply
- Mac:
退出并重新打开 Docker Desktop。
使用 Docker 帐户登录。
当您选择“扩展”选项卡时,您应该只看到在extensions.txt
中允许的扩展。


第六步:分发私有市场
确认私有市场配置有效后,最后一步是使用组织使用的 MDM 软件将文件分发到开发人员的机器。例如,Jamf。
需要分发文件:
admin-settings.json
- 整个
extension-marketplace
文件夹及其子文件夹
这些文件必须放在开发人员的机器上。根据您的操作系统,目标位置为(如上所述):
- Mac:
/Library/Application\ Support/com.docker.docker
- Windows:
C:\ProgramData\DockerDesktop
- Linux:
/usr/share/docker-desktop
确保您的开发人员已登录 Docker Desktop,才能使私有市场配置生效。作为管理员,您应该强制登录。
反馈
请通过发送电子邮件至extensions@docker.com
反馈或报告您发现的任何错误。