为扩展配置私有市场

贝塔

该功能目前处于 Beta 阶段。它仅适用于 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 读取配置文件的位置。根据您的操作系统,该位置为:

    • 苹果:/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

扩展私人市场

第六步:分发私人市场

一旦您确认私有市场配置有效,最后一步就是使用您的组织使用的 MDM 软件将文件分发到开发人员的计算机。例如, 贾姆夫

确保您的开发人员已登录 Docker Desktop 以使私有市场配置生效。作为管理员,您应该 配置registry.json以强制Docker Desktop登录

反馈

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