为扩展配置私人应用商店

可用性: 测试版
适用于: 管理员

了解如何为 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

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.