This repository includes Desktop Extension samples.
To get started with Docker Extensions you will need a specific Docker Desktop build that comes with extension capabilities and the Extensions CLI.
See prerequisites.
- Create a minimal frontend extension - a minimal Desktop Extension containing only a UI part based on HTML.
- Create a minimal backend extension - a Desktop Extension containing a UI part connecting to a minimal backend.
- Create a ReactJS-based extension - a minimal Desktop Extension containing only a UI part based on ReactJS.
Desktop Extensions are packaged and distributed as Docker images. Development of extensions can be done locally without the need to push the extension to Docker Hub. This is described in Extension Distribution.
The extension image must have some specific content, described here
The Extensions CLI is an extension development tool that can be used to manage Docker extensions.
This repository contains multiple extensions, each one is defined in an individual directories at the root of the repository. These are Docker developed samples that are not meant to be final products.
To try one of them, navigate to the directory of the extension then use the CLI to build and install the extension on Docker Desktop.
The overview describes how to get started developing your custom Docker Extension. It also covers how to open the Chrome Dev Tools and show the extension containers.
The extension UI has access to an extension API to invoke backend operations from the UI, e.g. listing running containers, images, etc. Furthermore, you can communicate with your extension backend service or invoke a binary on the host or in the VM.
We use mkdocs-material to create a static site from a set of Markdown files under docs.
docker run --rm -it -p 8000:8000 --rm -v ${PWD}:/docs squidfunk/mkdocs-material
Visit http://0.0.0.0:8000/