为扩展配置私有 Marketplace
了解如何为你的 Docker Desktop 用户配置和设置包含精选扩展列表的私有 Marketplace。
Docker Extensions 的私有 Marketplace 专为不允许开发者在其机器上拥有 root 访问权限的组织设计。它利用了设置管理,以便管理员可以完全控制私有 Marketplace。
先决条件
- 下载并安装 Docker Desktop 4.26.0 或更高版本.
- 你必须是组织的管理员。
- 你能够通过设备管理软件(例如Jamf)将
extension-marketplace
文件夹和admin-settings.json
文件推送到下方指定的路径。
步骤一:初始化私有 Marketplace
在本地创建一个文件夹,用于存放将要部署到开发者机器上的内容
$ mkdir my-marketplace $ cd my-marketplace
初始化 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
这会创建两个文件:
admin-settings.json
:一旦将其应用到开发者机器上的 Docker Desktop,它就会激活私有 Marketplace 功能。extensions.txt
:它决定了私有 Marketplace 中列出的扩展列表。
步骤二:设置行为
生成的 admin-settings.json
文件包含你可以修改的各种设置。
每个设置都有一个可以设置的 value
,包括一个 locked
字段,你可以锁定该设置,使其无法被开发者更改。
extensionsEnabled
启用 Docker Extensions。extensionsPrivateMarketplace
激活私有 Marketplace,并确保 Docker Desktop 连接到管理员定义和控制的内容,而不是公共 Docker Marketplace。onlyMarketplaceExtensions
允许或阻止开发者使用命令行安装其他扩展。开发新扩展的团队必须将此设置解锁 ("locked": false
) 才能安装和测试正在开发的扩展。extensionsPrivateMarketplaceAdminContactURL
定义了一个联系链接,供开发者在私有 Marketplace 中请求新的扩展。如果value
为空,则 Docker Desktop 上不会向你的开发者显示链接;否则,这可以是 HTTP 链接或 "mailto:" 链接。例如,"extensionsPrivateMarketplaceAdminContactURL": { "locked": true, "value": "mailto:admin@acme.com" }
要了解有关 admin-settings.json
文件的更多信息,请参阅设置管理。
步骤三:列出允许的扩展
生成的 extensions.txt
文件定义了私有 Marketplace 中可用的扩展列表。
文件中的每一行都是一个允许的扩展,遵循 org/repo:tag
的格式。
例如,如果你想允许 Disk Usage 扩展,你会在 extensions.txt
文件中输入以下内容:
docker/disk-usage-extension:0.2.8
如果没有提供标签,则使用该镜像可用的最新标签。你也可以使用 #
注释掉行,这样该扩展就会被忽略。
此列表可以包含不同类型的扩展镜像:
- 来自公共 Marketplace 或存储在 Docker Hub 中的任何公共镜像的扩展。
- 作为私有镜像存储在 Docker Hub 中的扩展镜像。开发者需要登录并拥有拉取这些镜像的权限。
- 存储在私有 Registry 中的扩展镜像。开发者需要登录并拥有拉取这些镜像的权限。
重要提示
你的开发者只能安装你列出的扩展版本。
步骤四:生成私有 Marketplace
一旦 extensions.txt
中的列表准备就绪,你就可以生成 Marketplace
$ /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
目录,并下载所有允许扩展的 Marketplace 元数据。
Marketplace 内容是根据扩展镜像信息(作为镜像标签)生成的,其格式与公共扩展相同。它包含扩展标题、描述、截图、链接等。
步骤五:测试私有 Marketplace 设置
建议你在自己的 Docker Desktop 安装中尝试私有 Marketplace。
在终端中运行以下命令。此命令会自动将生成的文件复制到 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 选项卡时,你应该会看到私有 Marketplace 中只列出了你在 extensions.txt
中允许的扩展。


步骤六:分发私有 Marketplace
一旦确认私有 Marketplace 配置正常工作,最后一步是使用组织使用的 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,以便私有 Marketplace 配置生效。作为管理员,你应该强制登录。
反馈
如发现任何错误或需要提供反馈,请发送电子邮件至 extensions@docker.com
。