Use the resources in this section to create your own Docker Extension.

Extensions are packaged as specially formatted Docker images, which our CLI tool helps to build. At the root of the image filesystem is a metadata.json file which describes the content of the extension. It is a fundamental element of a Docker extension.

An extension can contain a UI part and backend parts that run either on the host or in the Desktop virtual machine. For further information, see Architecture.

Extensions are distributed through Docker Hub. However, development of extensions can be done locally without the need to push the extension to Docker Hub. See Extensions distribution for further details.

Already built an extension?

Let us know about your experience using the feedback form.


The build and publish process

Understand the process for building and publishing an extension.


Quickstart guide

Follow the quickstart guide to build a basic Docker Extension quickly.

Design quidelines

View the design guidelines

Ensure your extension aligns to Docker's design guidelines and principles.


Publish your extension

Understand how to publish your extension to the Marketplace.


Interacting with Kubernetes

Find information on how to interact indirectly with a Kubernetes cluster from your Docker Extension.


Multi-arch extensions

Build your extension for multiple architectures.