Skip to content

gtardif/extensions-sdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Extensions

This repository includes all resources to create Docker Extensions.

⚠️ This work is experimental and still in progress, features and APIs are subject to change

Prerequisites

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.

Tutorials

Docker Extension Model

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

Developing Docker Extensions

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.

UI Guidelines

We are currently in the process of developing our design system but in the meantime, here are some UI guidelines. Docker Desktop's UI is written in React and Material-UI, and we strongly recommend adopting this combination in your extensions as well. This brings the benefit of using our Material-UI Theme to easily replicate Docker Desktop's look & feel, and we'll continue to release libraries and utilities targeting this combination.

You can read more about our design principles here.

About

Desktop Extensions SDK

Resources

License

Stars

Watchers

Forks

Packages

No packages published