配置扩展的私有市场

测试版

此功能目前处于 测试版阶段,仅向Docker Business客户开放。

了解如何为 Docker Desktop 用户配置和设置一个包含精选扩展的私有市场。

它专为

Docker 扩展的私有应用市场专为不授予开发人员其计算机 root 权限的组织设计。它利用 设置管理功能,使管理员能够完全掌控私有应用市场。

前提条件

第一步:初始化私有市场

  1. 在本地创建一个文件夹,用于存放将要部署到开发人员计算机上的内容:<br>

    $ mkdir my-marketplace
    $ cd my-marketplace
    
  2. 初始化您的市场平台的配置文件:


    $ /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 安装中尝试私有市场。

  1. 在您的终端中运行以下命令。此命令会自动将生成的文件复制到 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
    

  2. 退出并重新打开 Docker Desktop。

  3. 使用 Docker 账户登录。

当您选择 Extensions 选项卡时,您应该看到私有市场仅列出您在 extensions.txt 中允许的扩展。

Extensions Private 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,以便私有市场配置生效。作为管理员,您应该 强制登录

反馈

通过发送电子邮件至 extensions@docker.com 提供反馈或报告您发现的任何错误。