快速开始

按照本指南开始创建一个基本的Docker扩展。快速入门指南会自动为您生成样板文件。

先决条件

注意

NodeJS 和 Go 仅在您按照快速入门指南创建扩展时需要。它使用 docker extension init 命令自动生成样板文件。此命令使用基于 ReactJS 和 Go 应用程序的模板。

在Docker Desktop设置中,确保您可以安装正在开发的扩展。您可能需要导航到Docker Desktop设置中的扩展选项卡,并取消选中仅允许通过Docker Marketplace分发的扩展

第一步:设置你的目录

要设置您的目录,请使用init子命令并为您的扩展提供一个名称。

$ docker extension init <my-extension>

该命令会询问一系列关于您的扩展的问题,例如其名称、描述以及您的Hub仓库的名称。这有助于CLI为您生成一组样板文件以便开始。它将样板文件存储在my-extension目录中。

自动生成的扩展包含:

  • 一个位于backend文件夹中的Go后端服务,它监听一个套接字。它有一个端点/hello,返回一个JSON负载。
  • 一个位于frontend文件夹中的React前端,可以调用后端并输出后端的响应。

有关构建UI的更多信息和指南,请参阅 设计和UI样式部分

第二步:构建扩展

要构建扩展,请进入新创建的目录并运行:

$ docker build -t <name-of-your-extension> .

docker build 构建扩展并生成一个与所选 hub 仓库同名的镜像。例如,如果您在回答以下问题时输入了 john/my-extension

? Hub repository (eg. namespace/repository on hub): john/my-extension`

docker build 生成一个名为 john/my-extension 的镜像。

第三步:安装并预览扩展

要在Docker Desktop中安装扩展,请运行:

$ docker extension install <name-of-your-extension>

要在Docker Desktop中预览扩展,安装完成后,您应该会在扩展菜单下看到一个快速入门项。选择此项将打开扩展的前端。

提示

在UI开发过程中,使用热重载来测试您的更改而无需重新构建整个扩展是非常有帮助的。有关更多信息,请参阅 开发UI时的预览

您可能还想检查属于扩展的容器。默认情况下,扩展容器在Docker仪表板中是隐藏的。您可以在设置中更改此设置,有关更多信息,请参阅如何显示扩展容器

第四步:提交并发布您的扩展至市场

如果您想让您的扩展对所有Docker Desktop用户可用,您可以将其提交到市场进行发布。有关更多信息,请参阅 发布

清理

要删除扩展,请运行:

$ docker extension rm <name-of-your-extension>

下一步是什么