为扩展配置私有市场

测试版

此功能目前处于 测试版。它仅适用于 Docker Business 客户。

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

它专为

Docker Extensions 的私有市场专为不允许开发者访问其机器 root 权限的组织而设计。它利用 设置管理,以便管理员可以完全控制私有市场。

先决条件

第一步:初始化私有市场

  1. 在本地创建一个文件夹,用于将要部署到开发者机器上的内容。

    $ 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.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反馈或报告您发现的任何错误。