docs/desktop/extensions-sdk/process.md

3.7 KiB
Raw Blame History

description title keyword
Understand the process of creating an extension. The build build and publish process Docker Extensions, sdk, build, create, publish

The documentation is structured so that it matches the steps you need to take when creating your extension. There are two main parts to creating a Docker Extension; build the foundations and then publish your extension.

Part one: Build the foundations

The build process consists of:

  • Installing the latest version of Docker Desktop.
  • Setting up the directory with files which range from the extensions source code to the required extension-specific files.
  • Creating the Dockerfile to build, publish, and run your extension in Docker Desktop.
  • Configuring the metadata file which is required at the root of the image filesystem.
  • Building and installing the extension.
  • Testing and debugging the extension.

There are also instructions on how to set authentication for your extension.

This build section provides sample folders with ready-to-go examples that walk you through building:

  • A frontend extension based on plain HTML
  • A simple Docker extension that contains only a UI part and is based on ReactJS. This is useful if you want to develop an extension which consists exclusively of a visual part with no services running in the VM.
  • An extension that invokes Docker CLI commands
  • A simple backend extension

Note

Whilst you're building your extension, make sure you follow our design and UI styling guidelines to ensure visual consistency and level AA accessibility standards{:target="blank" rel="noopener" class=""}.

If your extension requires additional services running in the Docker Desktop VM, see the VM UI{:target="blank" rel="noopener" class=""} example.

For further inspiration, see the other examples in the samples folder{:target="blank" rel="noopener" class=""}.

Part two: Publish and distribute your extension

Docker Desktop displays published extensions in the Extensions Marketplace. The Extensions Marketplace is a curated space where developers from all over can discover extensions to improve their developer experience and upload their own extension to share with the world.

All extensions submitted to the Extension Marketplace are reviewed and approved by our team before listing. This review process ensures a level of trust, security, and quality for developers using Extensions and allows for Extension developers to get feedback on what will improve their Extensions experience.

If you want your extension to be published in the Marketplace, you can submit your extension here{:target="blank" rel="noopener" class=""}. Well review your submission and provide feedback if changes are needed before we can validate and publish it to make it available to all Docker Desktop users.

Whats next?

If you want to get up and running quickly with a Docker Extension, see the Quickstart guide.

Alternatively, get started with Part one: Build for more in-depth information about each step of the extension creation process.

For an in-depth tutorial of the entire build process, we recommend the following video walkthrough from DockerCon 2022: