ENGDOCS-2179 (#20591)

* ENGDOCS-2179

* link fix

* more link fix

* final link fix
This commit is contained in:
Allie Sadler 2024-08-13 11:51:09 +01:00 committed by GitHub
parent 79ff211be8
commit a26d380324
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
92 changed files with 252 additions and 135 deletions

12
.github/CODEOWNERS vendored
View File

@ -11,21 +11,21 @@
/content/desktop/ @aevesdocker /content/desktop/ @aevesdocker
/content/desktop/extensions/ @aevesdocker /content/extensions/ @aevesdocker
/content/desktop/extensions-sdk/ @aevesdocker /content/extensions-sdk/ @aevesdocker
/content/scout/ @dvdksn /content/scout/ @dvdksn
/content/docker-hub/ @aevesdocker @craig-osterhout @stephaurelio /content/docker-hub/ @aevesdocker @craig-osterhout
/content/engine/ @dvdksn /content/engine/ @dvdksn
/content/subscription/ @aevesdocker @stephaurelio /content/subscription/ @aevesdocker
/content/docker-hub/publish/ @aevesdocker /content/docker-hub/publish/ @craig-osterhout
/content/docker-hub/official_images/ @aevesdocker /content/docker-hub/official_images/ @craig-osterhout
/content/registry/ @dvdksn /content/registry/ @dvdksn

4
.github/labeler.yml vendored
View File

@ -111,8 +111,8 @@ area/configuration:
area/extensions: area/extensions:
- changed-files: - changed-files:
- any-glob-to-any-file: - any-glob-to-any-file:
- content/desktop/extensions/** - content/extensions/**
- content/desktop/extensions-sdk/** - content/extensions/extensions-sdk/**
area/samples: area/samples:
- changed-files: - changed-files:

View File

@ -54,7 +54,7 @@ Docker Desktop reduces the time spent on complex setups so you can focus on writ
- Docker CLI client - Docker CLI client
- [Docker Scout](../scout/_index.md) (additional subscription may apply) - [Docker Scout](../scout/_index.md) (additional subscription may apply)
- [Docker Build](../build/_index.md) - [Docker Build](../build/_index.md)
- [Docker Extensions](./extensions/_index.md) - [Docker Extensions](../extensions/_index.md)
- [Docker Compose](../compose/_index.md) - [Docker Compose](../compose/_index.md)
- [Docker Content Trust](../engine/security/trust/_index.md) - [Docker Content Trust](../engine/security/trust/_index.md)
- [Kubernetes](https://github.com/kubernetes/kubernetes/) - [Kubernetes](https://github.com/kubernetes/kubernetes/)

View File

@ -257,7 +257,7 @@ Use the **Extensions** tab to:
- **Allow only extensions distributed through the Docker Marketplace** - **Allow only extensions distributed through the Docker Marketplace**
- **Show Docker Extensions system containers** - **Show Docker Extensions system containers**
For more information about Docker extensions, see [Extensions](../extensions/index.md). For more information about Docker extensions, see [Extensions](/extensions/index.md).
## Features in development ## Features in development

View File

@ -299,7 +299,7 @@ Use the **Extensions** tab to:
- **Allow only extensions distributed through the Docker Marketplace** - **Allow only extensions distributed through the Docker Marketplace**
- **Show Docker Extensions system containers** - **Show Docker Extensions system containers**
For more information about Docker extensions, see [Extensions](../extensions/index.md). For more information about Docker extensions, see [Extensions](/extensions/index.md).
## Features in development ## Features in development

View File

@ -346,7 +346,7 @@ Use the **Extensions** tab to:
- **Allow only extensions distributed through the Docker Marketplace** - **Allow only extensions distributed through the Docker Marketplace**
- **Show Docker Extensions system containers** - **Show Docker Extensions system containers**
For more information about Docker extensions, see [Extensions](../extensions/index.md). For more information about Docker extensions, see [Extensions](/extensions/index.md).
## Features in development ## Features in development

View File

@ -2,13 +2,13 @@
description: Extensions description: Extensions
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows
title: Overview of Docker Extensions title: Overview of Docker Extensions
toc_min: 1 aliases:
toc_max: 2 - /desktop/extensions/
--- ---
Docker Extensions let you use third-party tools within Docker Desktop to extend its functionality. Docker Extensions let you use third-party tools within Docker Desktop to extend its functionality.
You can seamlessly connect your favorite development tools to your application development and deployment workflows. Augment Docker Desktop with debugging, testing, security, and networking functionalities, and create custom add-ons using the Extensions [SDK](../extensions-sdk/index.md). You can seamlessly connect your favorite development tools to your application development and deployment workflows. Augment Docker Desktop with debugging, testing, security, and networking functionalities, and create custom add-ons using the Extensions [SDK](extensions-sdk/index.md).
Anyone can use Docker Extensions and there is no limit to the number of extensions you can install. Anyone can use Docker Extensions and there is no limit to the number of extensions you can install.

View File

@ -4,31 +4,32 @@ description: Overall index for Docker Extensions SDK documentation
keywords: Docker, Extensions, sdk keywords: Docker, Extensions, sdk
aliases: aliases:
- /desktop/extensions-sdk/dev/overview/ - /desktop/extensions-sdk/dev/overview/
- /desktop/extensions-sdk/
grid: grid:
- title: "The build and publish process" - title: "The build and publish process"
description: Understand the process for building and publishing an extension. description: Understand the process for building and publishing an extension.
icon: "checklist" icon: "checklist"
link: "/desktop/extensions-sdk/process/" link: "/extensions/extensions-sdk/process/"
- title: "Quickstart guide" - title: "Quickstart guide"
description: Follow the quickstart guide to create a basic Docker extension quickly. description: Follow the quickstart guide to create a basic Docker extension quickly.
icon: "explore" icon: "explore"
link: "/desktop/extensions-sdk/quickstart/" link: "/extensions/extensions-sdk/quickstart/"
- title: "View the design guidelines" - title: "View the design guidelines"
description: Ensure your extension aligns to Docker's design guidelines and principles. description: Ensure your extension aligns to Docker's design guidelines and principles.
icon: "design_services" icon: "design_services"
link: "/desktop/extensions-sdk/design/design-guidelines/" link: "/extensions/extensions-sdk/design/design-guidelines/"
- title: "Publish your extension" - title: "Publish your extension"
description: Understand how to publish your extension to the Marketplace. description: Understand how to publish your extension to the Marketplace.
icon: "publish" icon: "publish"
link: "/desktop/extensions-sdk/extensions/" link: "/extensions/extensions-sdk/extensions/"
- title: "Interacting with Kubernetes" - title: "Interacting with Kubernetes"
description: Find information on how to interact indirectly with a Kubernetes cluster from your Docker extension. description: Find information on how to interact indirectly with a Kubernetes cluster from your Docker extension.
icon: "multiple_stop" icon: "multiple_stop"
link: "/desktop/extensions-sdk/dev/kubernetes/" link: "/extensions/extensions-sdk/guides/kubernetes/"
- title: "Multi-arch extensions" - title: "Multi-arch extensions"
description: Build your extension for multiple architectures. description: Build your extension for multiple architectures.
icon: "content_copy" icon: "content_copy"
link: "/desktop/extensions-sdk/extensions/multi-arch/" link: "/extensions/extensions-sdk/extensions/multi-arch/"
--- ---
The resources in this section help you create your own Docker extension. The resources in this section help you create your own Docker extension.

View File

@ -2,6 +2,8 @@
title: Extension architecture title: Extension architecture
description: Docker extension architecture description: Docker extension architecture
keywords: Docker, extensions, sdk, metadata keywords: Docker, extensions, sdk, metadata
aliases:
- /desktop/extensions-sdk/architecture/
--- ---
Extensions are applications that run inside the Docker Desktop. They're packaged as Docker images, distributed Extensions are applications that run inside the Docker Desktop. They're packaged as Docker images, distributed
@ -13,11 +15,11 @@ Extensions can be composed of three (optional) components:
- A backend: One or many containerised services running in the Docker Desktop VM - A backend: One or many containerised services running in the Docker Desktop VM
- Executables: Shell scripts or binaries that Docker Desktop copies on the host when installing the extension - Executables: Shell scripts or binaries that Docker Desktop copies on the host when installing the extension
![Overview of the three components of an extension](./images/extensions-architecture.png?w=600h=400) ![Overview of the three components of an extension](images/extensions-architecture.png?w=600h=400)
An extension doesn't necessarily need to have all these components, but at least one of them depending on the extension features. An extension doesn't necessarily need to have all these components, but at least one of them depending on the extension features.
To configure and run those components, Docker Desktop uses a `metadata.json` file. See the To configure and run those components, Docker Desktop uses a `metadata.json` file. See the
[metadata](./metadata) section for more details. [metadata](metadata) section for more details.
## The frontend ## The frontend
@ -25,7 +27,7 @@ The frontend is basically a web application made from HTML, Javascript, and CSS.
file, some vanilla Javascript or any frontend framework, such as React or Vue.js. file, some vanilla Javascript or any frontend framework, such as React or Vue.js.
When Docker Desktop installs the extension, it extracts the UI folder from the extension image, as defined by the When Docker Desktop installs the extension, it extracts the UI folder from the extension image, as defined by the
`ui` section in the `metadata.json`. See the [ui metadata section](./metadata.md#ui-section) for more details. `ui` section in the `metadata.json`. See the [ui metadata section](metadata.md#ui-section) for more details.
Every time users click on the **Extensions** tab, Docker Desktop initializes the extension's UI as if it was the first time. When they navigate away from the tab, both the UI itself and all the sub-processes started by it (if any) are terminated. Every time users click on the **Extensions** tab, Docker Desktop initializes the extension's UI as if it was the first time. When they navigate away from the tab, both the UI itself and all the sub-processes started by it (if any) are terminated.
@ -60,7 +62,7 @@ file
Usually, the backend is made of one container that runs within the Docker Desktop VM. Internally, Docker Desktop creates Usually, the backend is made of one container that runs within the Docker Desktop VM. Internally, Docker Desktop creates
a Docker Compose project, creates the container from the `image` option of the `vm` section of the `metadata.json`, and a Docker Compose project, creates the container from the `image` option of the `vm` section of the `metadata.json`, and
attaches it to the Compose project. See the [ui metadata section](./metadata.md#vm-section) for more details. attaches it to the Compose project. See the [ui metadata section](metadata.md#vm-section) for more details.
In some cases, a `compose.yml` file can be used instead of an `image`. This is useful when the backend container In some cases, a `compose.yml` file can be used instead of an `image`. This is useful when the backend container
needs more specific options, such as mounting volumes or requesting [capabilities](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) needs more specific options, such as mounting volumes or requesting [capabilities](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)
@ -79,7 +81,7 @@ or named pipe, depending on the operating system. If the backend was listening t
prevent collision with other applications running on the host or in a container already. Also, some users are prevent collision with other applications running on the host or in a container already. Also, some users are
running Docker Desktop in constrained environments where they can't open ports on their machines. running Docker Desktop in constrained environments where they can't open ports on their machines.
![Backend and frontend communication](./images/extensions-arch-2.png?w=500h=300) ![Backend and frontend communication](images/extensions-arch-2.png?w=500h=300)
Finally, the backend can be built with any technology, as long as it can run in a container and listen on a socket. Finally, the backend can be built with any technology, as long as it can run in a container and listen on a socket.
@ -95,15 +97,15 @@ Shipping those executables with the extension ensure that the CLI tool is always
the users' machine. the users' machine.
When Docker Desktop installs the extension, it copies the executables on the host as defined by the `host` section in When Docker Desktop installs the extension, it copies the executables on the host as defined by the `host` section in
the `metadata.json`. See the [ui metadata section](./metadata.md#host-section) for more details. the `metadata.json`. See the [ui metadata section](metadata.md#host-section) for more details.
![Executable and frontend communication](./images/extensions-arch-3.png?w=250h=300) ![Executable and frontend communication](images/extensions-arch-3.png?w=250h=300)
However, since they're executed on the users' machine, they have to be available to the platform they're running on. However, since they're executed on the users' machine, they have to be available to the platform they're running on.
For example, if you want to ship the `kubectl` executable, you need to provide a different version for Windows, Mac, For example, if you want to ship the `kubectl` executable, you need to provide a different version for Windows, Mac,
and Linux. Multi arch images will also need to include binaries built for the right arch (AMD / ARM) and Linux. Multi arch images will also need to include binaries built for the right arch (AMD / ARM)
See the [host metadata section](./metadata.md#host-section) for more details. See the [host metadata section](metadata.md#host-section) for more details.
Learn how to [invoke host binaries](../guides/invoke-host-binaries.md). Learn how to [invoke host binaries](../guides/invoke-host-binaries.md).

View File

@ -4,6 +4,7 @@ description: Docker extension metadata
keywords: Docker, extensions, sdk, metadata keywords: Docker, extensions, sdk, metadata
aliases: aliases:
- /desktop/extensions-sdk/extensions/METADATA - /desktop/extensions-sdk/extensions/METADATA
- /desktop/extensions-sdk/architecture/metadata/
--- ---
## The metadata.json file ## The metadata.json file

View File

@ -4,6 +4,7 @@ description: Aspects of the security model of extensions
keywords: Docker, extensions, sdk, security keywords: Docker, extensions, sdk, security
aliases: aliases:
- /desktop/extensions-sdk/guides/security/ - /desktop/extensions-sdk/guides/security/
- /desktop/extensions-sdk/architecture/security/
--- ---
## Extension capabilities ## Extension capabilities

View File

@ -6,6 +6,7 @@ aliases:
- /desktop/extensions-sdk/tutorials/minimal-backend-extension/ - /desktop/extensions-sdk/tutorials/minimal-backend-extension/
- /desktop/extensions-sdk/build/minimal-backend-extension/ - /desktop/extensions-sdk/build/minimal-backend-extension/
- /desktop/extensions-sdk/build/set-up/backend-extension-tutorial/ - /desktop/extensions-sdk/build/set-up/backend-extension-tutorial/
- /desktop/extensions-sdk/build/backend-extension-tutorial/
--- ---
Your extension can ship a backend part with which the frontend can interact with. This page provides information on why and how to add a backend. Your extension can ship a backend part with which the frontend can interact with. This page provides information on why and how to add a backend.
@ -20,7 +21,7 @@ Before you start, make sure you have installed the latest version of [Docker Des
## Why add a backend? ## Why add a backend?
Thanks to the Docker Extensions SDK, most of the time you should be able to do what you need from the Docker CLI Thanks to the Docker Extensions SDK, most of the time you should be able to do what you need from the Docker CLI
directly from [the frontend](./frontend-extension-tutorial.md#use-the-extension-apis-client). directly from [the frontend](frontend-extension-tutorial.md#use-the-extension-apis-client).
Nonetheless, there are some cases where you might need to add a backend to your extension. So far, extension Nonetheless, there are some cases where you might need to add a backend to your extension. So far, extension
builders have used the backend to: builders have used the backend to:
@ -278,7 +279,7 @@ For more information on the `vm` section of the `metadata.json`, see [Metadata](
## Invoke the extension backend from your frontend ## Invoke the extension backend from your frontend
Using the [advanced frontend extension example](./frontend-extension-tutorial.md), we can invoke our extension backend. Using the [advanced frontend extension example](frontend-extension-tutorial.md), we can invoke our extension backend.
Use the Docker Desktop Client object and then invoke the `/hello` route from the backend service with `ddClient. Use the Docker Desktop Client object and then invoke the `/hello` route from the backend service with `ddClient.
extension.vm.service.get` that returns the body of the response. extension.vm.service.get` that returns the body of the response.

View File

@ -7,11 +7,12 @@ aliases:
- /desktop/extensions-sdk/build/set-up/react-extension/ - /desktop/extensions-sdk/build/set-up/react-extension/
- /desktop/extensions-sdk/build/set-up/minimal-frontend-using-docker-cli/ - /desktop/extensions-sdk/build/set-up/minimal-frontend-using-docker-cli/
- /desktop/extensions-sdk/build/set-up/frontend-extension-tutorial/ - /desktop/extensions-sdk/build/set-up/frontend-extension-tutorial/
- /desktop/extensions-sdk/build/frontend-extension-tutorial/
--- ---
To start creating your extension, you first need a directory with files which range from the extensions source code to the required extension-specific files. This page provides information on how to set up an extension with a more advanced frontend. To start creating your extension, you first need a directory with files which range from the extensions source code to the required extension-specific files. This page provides information on how to set up an extension with a more advanced frontend.
Before you start, make sure you have installed the latest version of [Docker Desktop](../../release-notes.md). Before you start, make sure you have installed the latest version of [Docker Desktop](/desktop/release-notes.md).
## Extension folder structure ## Extension folder structure
@ -356,7 +357,7 @@ when you need to debug it.
## What's next? ## What's next?
- Add a [backend](./backend-extension-tutorial.md) to your extension. - Add a [backend](backend-extension-tutorial.md) to your extension.
- Learn how to [test and debug](../dev/test-debug.md) your extension. - Learn how to [test and debug](../dev/test-debug.md) your extension.
- Learn how to [setup CI for your extension](../dev/continuous-integration.md). - Learn how to [setup CI for your extension](../dev/continuous-integration.md).
- Learn more about extensions [architecture](../architecture/index.md). - Learn more about extensions [architecture](../architecture/index.md).

View File

Before

Width:  |  Height:  |  Size: 749 KiB

After

Width:  |  Height:  |  Size: 749 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 538 KiB

After

Width:  |  Height:  |  Size: 538 KiB

View File

@ -5,11 +5,12 @@ keywords: Docker, extensions, sdk, build
aliases: aliases:
- /desktop/extensions-sdk/tutorials/minimal-frontend-extension/ - /desktop/extensions-sdk/tutorials/minimal-frontend-extension/
- /desktop/extensions-sdk/build/set-up/minimal-frontend-extension/ - /desktop/extensions-sdk/build/set-up/minimal-frontend-extension/
- /desktop/extensions-sdk/build/minimal-frontend-extension/
--- ---
To start creating your extension, you first need a directory with files which range from the extensions source code to the required extension-specific files. This page provides information on how to set up a minimal frontend extension based on plain HTML. To start creating your extension, you first need a directory with files which range from the extensions source code to the required extension-specific files. This page provides information on how to set up a minimal frontend extension based on plain HTML.
Before you start, make sure you have installed the latest version of [Docker Desktop](../../release-notes.md). Before you start, make sure you have installed the latest version of [Docker Desktop](/desktop/release-notes.md).
> Tip > Tip
> >
@ -102,7 +103,7 @@ The left-hand menu displays a new tab with the name of your extension.
## What's next? ## What's next?
- Build a more [advanced frontend](./frontend-extension-tutorial.md) extension. - Build a more [advanced frontend](frontend-extension-tutorial.md) extension.
- Learn how to [test and debug](../dev/test-debug.md) your extension. - Learn how to [test and debug](../dev/test-debug.md) your extension.
- Learn how to [setup CI for your extension](../dev/continuous-integration.md). - Learn how to [setup CI for your extension](../dev/continuous-integration.md).
- Learn more about extensions [architecture](../architecture/index.md). - Learn more about extensions [architecture](../architecture/index.md).

View File

@ -5,6 +5,7 @@ keywords: Docker, extensions, design
aliases: aliases:
- /desktop/extensions-sdk/design/design-overview/ - /desktop/extensions-sdk/design/design-overview/
- /desktop/extensions-sdk/design/overview/ - /desktop/extensions-sdk/design/overview/
- /desktop/extensions-sdk/design/
--- ---
Our Design System is a constantly evolving set of specifications that aim to ensure visual consistency across Docker products, and meet [level AA accessibility standards](https://www.w3.org/WAI/WCAG2AA-Conformance). We've opened parts of it to extension authors, documenting basic styles (color, typography) and components. See: [Docker Extensions Styleguide](https://www.figma.com/file/U7pLWfEf6IQKUHLhdateBI/Docker-Design-Guidelines?node-id=1%3A28771). Our Design System is a constantly evolving set of specifications that aim to ensure visual consistency across Docker products, and meet [level AA accessibility standards](https://www.w3.org/WAI/WCAG2AA-Conformance). We've opened parts of it to extension authors, documenting basic styles (color, typography) and components. See: [Docker Extensions Styleguide](https://www.figma.com/file/U7pLWfEf6IQKUHLhdateBI/Docker-Design-Guidelines?node-id=1%3A28771).

View File

@ -2,6 +2,8 @@
title: Design guidelines for Docker extensions title: Design guidelines for Docker extensions
description: Docker extension design description: Docker extension design
keywords: Docker, extensions, design keywords: Docker, extensions, design
aliases:
- /desktop/extensions-sdk/design/design-guidelines/
--- ---
At Docker, we aim to build tools that integrate into a user's existing workflows rather than requiring them to adopt new ones. We strongly recommend that you follow these guidelines when creating extensions. We review and approve your Marketplace publication based on these requirements. At Docker, we aim to build tools that integrate into a user's existing workflows rather than requiring them to adopt new ones. We strongly recommend that you follow these guidelines when creating extensions. We review and approve your Marketplace publication based on these requirements.

View File

@ -2,6 +2,8 @@
title: Docker design principles title: Docker design principles
description: Docker extension design description: Docker extension design
keywords: Docker, extensions, design keywords: Docker, extensions, design
aliases:
- /desktop/extensions-sdk/design/design-principles/
--- ---
## Provide actionable guidance ## Provide actionable guidance

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -2,6 +2,8 @@
title: MUI best practices title: MUI best practices
description: Guidelines for using MUI to maximise compatibility with Docker Desktop description: Guidelines for using MUI to maximise compatibility with Docker Desktop
keywords: Docker, extensions, mui, theme, theming, material-ui, material keywords: Docker, extensions, mui, theme, theming, material-ui, material
aliases:
- /desktop/extensions-sdk/design/mui-best-practices/
--- ---
This article assumes you're following our recommended practice by using our [Material UI theme](https://www.npmjs.com/package/@docker/docker-mui-theme). This article assumes you're following our recommended practice by using our [Material UI theme](https://www.npmjs.com/package/@docker/docker-mui-theme).

View File

@ -2,6 +2,8 @@
title: Extension Backend title: Extension Backend
description: Docker extension API description: Docker extension API
keywords: Docker, extensions, sdk, API keywords: Docker, extensions, sdk, API
aliases:
- /desktop/extensions-sdk/dev/api/backend/
--- ---
The `ddClient.extension.vm` object can be used to communicate with the backend defined in the [vm section](../../architecture/metadata.md#vm-section) of the extension metadata. The `ddClient.extension.vm` object can be used to communicate with the backend defined in the [vm section](../../architecture/metadata.md#vm-section) of the extension metadata.

View File

@ -2,6 +2,8 @@
title: Navigation title: Navigation
description: Docker extension API description: Docker extension API
keywords: Docker, extensions, sdk, API keywords: Docker, extensions, sdk, API
aliases:
- /desktop/extensions-sdk/dev/api/dashboard-routes-navigation/
--- ---
`ddClient.desktopUI.navigate` enables navigation to specific screens of Docker Desktop such as the containers tab, the images tab, or a specific container's logs. `ddClient.desktopUI.navigate` enables navigation to specific screens of Docker Desktop such as the containers tab, the images tab, or a specific container's logs.

View File

@ -2,6 +2,8 @@
title: Dashboard title: Dashboard
description: Docker extension API description: Docker extension API
keywords: Docker, extensions, sdk, API keywords: Docker, extensions, sdk, API
aliases:
- /desktop/extensions-sdk/dev/api/dashboard/
--- ---
## User notifications ## User notifications

View File

@ -2,6 +2,8 @@
title: Docker title: Docker
description: Docker extension API description: Docker extension API
keywords: Docker, extensions, sdk, API keywords: Docker, extensions, sdk, API
aliases:
- /desktop/extensions-sdk/dev/api/docker/
--- ---
## Docker objects ## Docker objects

View File

@ -2,6 +2,8 @@
title: Extension UI API title: Extension UI API
description: Docker extension development overview description: Docker extension development overview
keywords: Docker, extensions, sdk, development keywords: Docker, extensions, sdk, development
aliases:
- /desktop/extensions-sdk/dev/api/overview/
--- ---
The extensions UI runs in a sandboxed environment and doesn't have access to any The extensions UI runs in a sandboxed environment and doesn't have access to any

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/README/
--- ---
# Extensions API Reference # Extensions API Reference

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/BackendV0/
--- ---
# Interface: BackendV0 # Interface: BackendV0

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/DesktopUI/
--- ---
# Interface: DesktopUI # Interface: DesktopUI

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/Dialog/
--- ---
# Interface: Dialog # Interface: Dialog

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/Docker/
--- ---
# Interface: Docker # Interface: Docker

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/DockerCommand/
--- ---
# Interface: DockerCommand # Interface: DockerCommand

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/DockerDesktopClient/
--- ---
# Interface: DockerDesktopClient # Interface: DockerDesktopClient

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/Exec/
--- ---
# Interface: Exec # Interface: Exec

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExecOptions/
--- ---
# Interface: ExecOptions # Interface: ExecOptions

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExecProcess/
--- ---
# Interface: ExecProcess # Interface: ExecProcess

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExecResult/
--- ---
# Interface: ExecResult # Interface: ExecResult

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExecResultV0/
--- ---
# Interface: ExecResultV0 # Interface: ExecResultV0

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExecStreamOptions/
--- ---
# Interface: ExecStreamOptions # Interface: ExecStreamOptions

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/Extension/
--- ---
# Interface: Extension # Interface: Extension

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionCli/
--- ---
# Interface: ExtensionCli # Interface: ExtensionCli

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/
--- ---
# Interface: ExtensionHost # Interface: ExtensionHost

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionVM/
--- ---
# Interface: ExtensionVM # Interface: ExtensionVM

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/Host/
--- ---
# Interface: Host # Interface: Host

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/HttpService/
--- ---
# Interface: HttpService # Interface: HttpService

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/NavigationIntents/
--- ---
# Interface: NavigationIntents # Interface: NavigationIntents

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/OpenDialogResult/
--- ---
# Interface: OpenDialogResult # Interface: OpenDialogResult

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/RawExecResult/
--- ---
# Interface: RawExecResult # Interface: RawExecResult

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/RequestConfig/
--- ---
# Interface: RequestConfig # Interface: RequestConfig

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/RequestConfigV0/
--- ---
# Interface: RequestConfigV0 # Interface: RequestConfigV0

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/ServiceError/
--- ---
# Interface: ServiceError # Interface: ServiceError

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/SpawnOptions/
--- ---
# Interface: SpawnOptions # Interface: SpawnOptions

View File

@ -1,6 +1,8 @@
--- ---
description: Docker extension API reference description: Docker extension API reference
keywords: Docker, extensions, sdk, API, reference keywords: Docker, extensions, sdk, API, reference
aliases:
- /desktop/extensions-sdk/dev/api/reference/interfaces/Toast/
--- ---
# Interface: Toast # Interface: Toast

View File

@ -2,6 +2,8 @@
title: Continuous Integration (CI) title: Continuous Integration (CI)
description: Automatically test and validate your extension. description: Automatically test and validate your extension.
keywords: Docker, Extensions, sdk, CI, test, regression keywords: Docker, Extensions, sdk, CI, test, regression
aliases:
- /desktop/extensions-sdk/dev/continuous-integration/
--- ---
In order to help validate your extension and ensure it's functional, the Extension SDK provides tools to help you setup continuous integration for your extension. In order to help validate your extension and ensure it's functional, the Extension SDK provides tools to help you setup continuous integration for your extension.

View File

@ -4,6 +4,7 @@ description: Test and debug your extension.
keywords: Docker, Extensions, sdk, preview, update, Chrome DevTools keywords: Docker, Extensions, sdk, preview, update, Chrome DevTools
aliases: aliases:
- /desktop/extensions-sdk/build/test-debug/ - /desktop/extensions-sdk/build/test-debug/
- /desktop/extensions-sdk/dev/test-debug/
--- ---
In order to improve the developer experience, Docker Desktop provides a set of tools to help you test and debug your extension. In order to improve the developer experience, Docker Desktop provides a set of tools to help you test and debug your extension.
@ -74,4 +75,4 @@ $ docker extension rm <name-of-your-extension>
- Learn more about extensions [architecture](../architecture/index.md). - Learn more about extensions [architecture](../architecture/index.md).
- Explore our [design principles](../design/design-principles.md). - Explore our [design principles](../design/design-principles.md).
- Take a look at our [UI styling guidelines](../design/index.md). - Take a look at our [UI styling guidelines](../design/index.md).
- Learn how to [setup CI for your extension](./continuous-integration.md). - Learn how to [setup CI for your extension](continuous-integration.md).

View File

@ -4,6 +4,7 @@ description: Docker extension CLI
keywords: Docker, extensions, sdk, CLI keywords: Docker, extensions, sdk, CLI
aliases: aliases:
- /desktop/extensions-sdk/dev/cli/usage/ - /desktop/extensions-sdk/dev/cli/usage/
- /desktop/extensions-sdk/dev/usage/
--- ---
The Extensions CLI is an extension development tool that is used to manage Docker extensions. Actions include install, list, remove, and validate extensions. The Extensions CLI is an extension development tool that is used to manage Docker extensions. Actions include install, list, remove, and validate extensions.

View File

@ -2,6 +2,8 @@
title: Package and release your extension title: Package and release your extension
description: Docker extension disctribution description: Docker extension disctribution
keywords: Docker, extensions, sdk, distribution keywords: Docker, extensions, sdk, distribution
aliases:
- /desktop/extensions-sdk/extensions/DISTRIBUTION/
--- ---
This page contains additional information on how to package and distribute extensions. This page contains additional information on how to package and distribute extensions.

View File

@ -2,6 +2,8 @@
title: Extension release process title: Extension release process
description: General steps in how to publish an extension description: General steps in how to publish an extension
keywords: Docker, Extensions, sdk, publish keywords: Docker, Extensions, sdk, publish
aliases:
- /desktop/extensions-sdk/extensions/
--- ---
This section describes how to make your extension available and more visible, so users can discover it and install it with a single click. This section describes how to make your extension available and more visible, so users can discover it and install it with a single click.
@ -13,7 +15,7 @@ After you have developed your extension and tested it locally, you are ready to
Releasing your extension consists of: Releasing your extension consists of:
- Providing information about your extension: description, screenshots, etc. so users can decide to install your extension - Providing information about your extension: description, screenshots, etc. so users can decide to install your extension
- [Validating](./validate.md) that the extension is built in the right format and includes the required information - [Validating](validate.md) that the extension is built in the right format and includes the required information
- Making the extension image available on [Docker Hub](https://hub.docker.com/) - Making the extension image available on [Docker Hub](https://hub.docker.com/)
See [Package and release your extension](DISTRIBUTION.md) for more details about the release process. See [Package and release your extension](DISTRIBUTION.md) for more details about the release process.

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -2,6 +2,8 @@
title: Extension image labels title: Extension image labels
description: Docker extension labels description: Docker extension labels
keywords: Docker, extensions, sdk, labels keywords: Docker, extensions, sdk, labels
aliases:
- /desktop/extensions-sdk/extensions/labels/
--- ---
Extensions use image labels to provide additional information such as a title, description, screenshots, and more. Extensions use image labels to provide additional information such as a title, description, screenshots, and more.
@ -10,7 +12,7 @@ This information is then displayed as an overview of the extension, so users can
![An extension overview, generated from labels](images/marketplace-details.png) ![An extension overview, generated from labels](images/marketplace-details.png)
You can define [image labels](../../../reference/dockerfile.md#label) in the extension's `Dockerfile`. You can define [image labels](/reference/dockerfile.md#label) in the extension's `Dockerfile`.
> **Important** > **Important**
> >

View File

@ -2,6 +2,8 @@
title: Build the extensions for multiple architectures title: Build the extensions for multiple architectures
description: Step three in creating an extension. description: Step three in creating an extension.
keywords: Docker, Extensions, sdk, build, multi-arch keywords: Docker, Extensions, sdk, build, multi-arch
aliases:
- /desktop/extensions-sdk/extensions/multi-arch/
--- ---
It is highly recommended that, at a minimum, your extension is supported for the following architectures: It is highly recommended that, at a minimum, your extension is supported for the following architectures:
@ -34,7 +36,7 @@ $ docker buildx build --push --platform=linux/amd64,linux/arm64 --tag=username/m
``` ```
You can then check the image manifest to see if the image is available for both You can then check the image manifest to see if the image is available for both
architectures using the [`docker buildx imagetools` command](../../../reference/cli/docker/buildx/imagetools/_index.md): architectures using the [`docker buildx imagetools` command](/reference/cli/docker/buildx/imagetools/_index.md):
```console ```console
$ docker buildx imagetools inspect username/my-extension:0.0.1 $ docker buildx imagetools inspect username/my-extension:0.0.1
@ -57,7 +59,7 @@ Manifests:
> If you're having trouble pushing the image, make sure you're signed in to Docker Hub. Otherwise, run `docker login` to authenticate. > If you're having trouble pushing the image, make sure you're signed in to Docker Hub. Otherwise, run `docker login` to authenticate.
{ .tip } { .tip }
For more information, see [Multi-platform images](../../../build/building/multi-platform.md) page. For more information, see [Multi-platform images](/build/building/multi-platform.md) page.
## Adding multi-arch binaries ## Adding multi-arch binaries

View File

@ -2,6 +2,8 @@
title: Publish your extension in the Marketplace title: Publish your extension in the Marketplace
description: Docker extension distribution description: Docker extension distribution
keywords: Docker, extensions, publish keywords: Docker, extensions, publish
aliases:
- /desktop/extensions-sdk/extensions/publish/
--- ---
## Submit your extension to the Marketplace ## Submit your extension to the Marketplace
@ -9,7 +11,7 @@ keywords: Docker, extensions, publish
Docker Desktop displays published extensions in the Extensions Marketplace on [Docker Desktop](https://open.docker.com/extensions/marketplace) and [Docker Hub](https://hub.docker.com/search?q=&type=extension). Docker Desktop displays published extensions in the Extensions Marketplace on [Docker Desktop](https://open.docker.com/extensions/marketplace) and [Docker Hub](https://hub.docker.com/search?q=&type=extension).
The Extensions Marketplace is a space where developers can discover extensions to improve their developer experience and propose their own extension to be available for all Desktop users. The Extensions Marketplace is a space where developers can discover extensions to improve their developer experience and propose their own extension to be available for all Desktop users.
Whenever you are [ready to publish](./DISTRIBUTION.md) your extension in the Marketplace, you can [self-publish your extension](https://github.com/docker/extensions-submissions/issues/new?assignees=&labels=&template=1_automatic_review.yaml&title=%5BSubmission%5D%3A+) Whenever you are [ready to publish](DISTRIBUTION.md) your extension in the Marketplace, you can [self-publish your extension](https://github.com/docker/extensions-submissions/issues/new?assignees=&labels=&template=1_automatic_review.yaml&title=%5BSubmission%5D%3A+)
> **Note** > **Note**
> >

View File

@ -2,6 +2,8 @@
title: Share your extension title: Share your extension
description: Share your extension with a share link description: Share your extension with a share link
keywords: Docker, extensions, share keywords: Docker, extensions, share
aliases:
- /desktop/extensions-sdk/extensions/share/
--- ---
Once your extension image is accessible on Docker Hub, anyone with access to the image can install the extension. Once your extension image is accessible on Docker Hub, anyone with access to the image can install the extension.

View File

@ -6,6 +6,7 @@ aliases:
- /desktop/extensions-sdk/extensions/validation/ - /desktop/extensions-sdk/extensions/validation/
- /desktop/extensions-sdk/build/build-install/ - /desktop/extensions-sdk/build/build-install/
- /desktop/extensions-sdk/dev/cli/build-test-install-extension/ - /desktop/extensions-sdk/dev/cli/build-test-install-extension/
- /desktop/extensions-sdk/extensions/validate/
--- ---
Validate your extension before you share or publish it. Validating the extension ensures that the extension: Validate your extension before you share or publish it. Validating the extension ensures that the extension:

View File

Before

Width:  |  Height:  |  Size: 232 KiB

After

Width:  |  Height:  |  Size: 232 KiB

View File

@ -3,6 +3,8 @@ title: Invoke host binaries
description: Add invocations to host binaries from the frontend with the extension description: Add invocations to host binaries from the frontend with the extension
SDK. SDK.
keywords: Docker, extensions, sdk, build keywords: Docker, extensions, sdk, build
aliases:
- /desktop/extensions-sdk/guides/invoke-host-binaries/
--- ---
In some cases, your extension may need to invoke some command from the host. For example, you In some cases, your extension may need to invoke some command from the host. For example, you

View File

@ -4,6 +4,7 @@ description: How to connect to a Kubernetes cluster from an extension
keywords: Docker, Extensions, sdk, Kubernetes keywords: Docker, Extensions, sdk, Kubernetes
aliases: aliases:
- /desktop/extensions-sdk/dev/kubernetes/ - /desktop/extensions-sdk/dev/kubernetes/
- /desktop/extensions-sdk/guides/kubernetes/
--- ---
The Extensions SDK does not provide any API methods to directly interact with the Docker Desktop managed Kubernetes cluster or any other created using other tools such as KinD. However, this page provides a way for you to use other SDK APIs to interact indirectly with a Kubernetes cluster from your extension. The Extensions SDK does not provide any API methods to directly interact with the Docker Desktop managed Kubernetes cluster or any other created using other tools such as KinD. However, this page provides a way for you to use other SDK APIs to interact indirectly with a Kubernetes cluster from your extension.
@ -22,7 +23,7 @@ Docker Desktop conveniently provides the user with a local preconfigured `kubeco
If your extension needs to interact with Kubernetes clusters, it is recommended that you include the `kubectl` command line tool as part of your extension. By doing this, users who install your extension get `kubectl` installed on their host. If your extension needs to interact with Kubernetes clusters, it is recommended that you include the `kubectl` command line tool as part of your extension. By doing this, users who install your extension get `kubectl` installed on their host.
To find out how to ship the `kubectl` command line tool for multiple platforms as part of your Docker Extension image, see [Build multi-arch extensions](../../../desktop/extensions-sdk/extensions/multi-arch.md#adding-multi-arch-binaries). To find out how to ship the `kubectl` command line tool for multiple platforms as part of your Docker Extension image, see [Build multi-arch extensions](../extensions/multi-arch.md#adding-multi-arch-binaries).
## Examples ## Examples

View File

@ -4,6 +4,7 @@ description: Docker extension OAuth 2.0 flow
keywords: Docker, extensions, sdk, OAuth 2.0 keywords: Docker, extensions, sdk, OAuth 2.0
aliases: aliases:
- /desktop/extensions-sdk/dev/oauth2-flow/ - /desktop/extensions-sdk/dev/oauth2-flow/
- /desktop/extensions-sdk/guides/oauth2-flow/
--- ---
> **Note** > **Note**

View File

@ -2,6 +2,8 @@
title: Use the Docker socket from the extension backend title: Use the Docker socket from the extension backend
description: Docker extension metadata description: Docker extension metadata
keywords: Docker, extensions, sdk, metadata keywords: Docker, extensions, sdk, metadata
aliases:
- /desktop/extensions-sdk/guides/use-docker-socket-from-backend/
--- ---
Extensions can invoke Docker commands directly from the frontend with the SDK. Extensions can invoke Docker commands directly from the frontend with the SDK.

View File

@ -2,6 +2,8 @@
description: Understand the process of creating an extension. description: Understand the process of creating an extension.
title: The build and publish process title: The build and publish process
keyword: Docker Extensions, sdk, build, create, publish keyword: Docker Extensions, sdk, build, create, publish
aliases:
- /desktop/extensions-sdk/process/
--- ---
This documentation is structured so that it matches the steps you need to take when creating your extension. This documentation is structured so that it matches the steps you need to take when creating your extension.
@ -38,7 +40,7 @@ For further inspiration, see the other examples in the [samples folder](https://
Docker Desktop displays published extensions in the Extensions Marketplace. The Extensions Marketplace is a curated space where developers can discover extensions to improve their developer experience and upload their own extension to share with the world. Docker Desktop displays published extensions in the Extensions Marketplace. The Extensions Marketplace is a curated space where developers can discover extensions to improve their developer experience and upload their own extension to share with the world.
If you want your extension published in the Marketplace, read the [publish documentation](./extensions/publish.md). If you want your extension published in the Marketplace, read the [publish documentation](extensions/publish.md).
{{< include "extensions-form.md" >}} {{< include "extensions-form.md" >}}

View File

@ -4,17 +4,18 @@ description: Guide on how to build an extension quickly
keywords: quickstart, extensions keywords: quickstart, extensions
aliases: aliases:
- desktop/extensions-sdk/tutorials/initialize/ - desktop/extensions-sdk/tutorials/initialize/
- /desktop/extensions-sdk/quickstart/
--- ---
Follow this guide to get started with creating a basic Docker extension. The Quickstart guide automatically generates boilerplate files for you. Follow this guide to get started with creating a basic Docker extension. The Quickstart guide automatically generates boilerplate files for you.
## Prerequisites ## Prerequisites
- [Docker Desktop](../release-notes.md) - [Docker Desktop](/desktop/release-notes.md)
- [NodeJS](https://nodejs.org/) - [NodeJS](https://nodejs.org/)
- [Go](https://go.dev/dl/) - [Go](https://go.dev/dl/)
> Note > **Note**
> >
> NodeJS and Go are only required when you follow the quickstart guide to create an extension. It uses the `docker extension init` command to automatically generate boilerplate files. This command uses a template based on a ReactJS and Go application. > NodeJS and Go are only required when you follow the quickstart guide to create an extension. It uses the `docker extension init` command to automatically generate boilerplate files. This command uses a template based on a ReactJS and Go application.

View File

@ -2,6 +2,8 @@
description: Extensions description: Extensions
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, Marketplace keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, Marketplace
title: Marketplace extensions title: Marketplace extensions
aliases:
- /desktop/extensions/marketplace/
--- ---
There are two types of extensions available in the Extensions Marketplace: There are two types of extensions available in the Extensions Marketplace:

View File

@ -2,6 +2,8 @@
description: Extensions description: Extensions
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows,
title: Non-Marketplace extensions title: Non-Marketplace extensions
aliases:
- /desktop/extensions/non-marketplace/
--- ---
## Install an extension not available in the Marketplace ## Install an extension not available in the Marketplace

View File

@ -2,6 +2,8 @@
description: How to configure and use Docker Extensions' private marketplace description: How to configure and use Docker Extensions' private marketplace
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, Marketplace, private, security keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, Marketplace, private, security
title: Configure a private marketplace for extensions title: Configure a private marketplace for extensions
aliases:
- /desktop/extensions/private-marketplace/
--- ---
> **Beta** > **Beta**
@ -14,7 +16,7 @@ Learn how to configure and set up a private marketplace with a curated list of e
It is designed specifically It is designed specifically
Docker Extensions' private marketplace is designed specifically for organizations who dont give developers root access to their machines. It makes use of [Settings Management](../hardened-desktop/settings-management/_index.md) so administrators have complete control over the private marketplace. Docker Extensions' private marketplace is designed specifically for organizations who dont give developers root access to their machines. It makes use of [Settings Management](/desktop/hardened-desktop/settings-management/_index.md) so administrators have complete control over the private marketplace.
## Prerequisites ## Prerequisites
@ -80,7 +82,7 @@ Each setting has a `value` that you can set, including a `locked` field that let
} }
``` ```
To find out more information about the `admin-settings.json` file, see [Settings Management](../hardened-desktop/settings-management/_index.md). To find out more information about the `admin-settings.json` file, see [Settings Management](/desktop/hardened-desktop/settings-management/_index.md).
## Step three: List allowed extensions ## Step three: List allowed extensions
@ -137,7 +139,7 @@ $ /opt/docker-desktop/extension-admin generate
This creates an `extension-marketplace` directory and downloads the marketplace metadata for all the allowed extensions. This creates an `extension-marketplace` directory and downloads the marketplace metadata for all the allowed extensions.
The marketplace content is generated from extension image information as image labels, which is the [same format as public extensions](../extensions-sdk/extensions/labels.md). It includes the extension title, description, screenshots, links, etc. The marketplace content is generated from extension image information as image labels, which is the [same format as public extensions](extensions-sdk/extensions/labels.md). It includes the extension title, description, screenshots, links, etc.
## Step five: Test the private marketplace setup ## Step five: Test the private marketplace setup
@ -194,7 +196,7 @@ These files must be placed on developer's machines. Depending on your operating
- Windows: `C:\ProgramData\DockerDesktop` - Windows: `C:\ProgramData\DockerDesktop`
- Linux: `/usr/share/docker-desktop` - Linux: `/usr/share/docker-desktop`
Make sure your developers are signed in to Docker Desktop in order for the private marketplace configuration to take effect. As an administrator, you should [configure a registry.json to enforce Docker Desktop sign-in](../../security/for-admins/configure-sign-in.md). Make sure your developers are signed in to Docker Desktop in order for the private marketplace configuration to take effect. As an administrator, you should [configure a registry.json to enforce Docker Desktop sign-in](/security/for-admins/configure-sign-in.md).
## Feedback ## Feedback

View File

@ -2,6 +2,8 @@
description: Extensions description: Extensions
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, feedback keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, feedback
title: Settings and feedback for Docker Extensions title: Settings and feedback for Docker Extensions
aliases:
- /desktop/extensions/settings-feedback/
--- ---
## Settings ## Settings
@ -17,12 +19,12 @@ Docker Extensions is switched on by default. To change your settings:
>**Note** >**Note**
> >
> If you are an [organization owner](../../admin/organization/manage-a-team.md#organization-owner), you can turn off extensions for your users. Open the `settings.json` file, and set `"extensionsEnabled"` to `false`. > If you are an [organization owner](/admin/organization/manage-a-team.md#organization-owner), you can turn off extensions for your users. Open the `settings.json` file, and set `"extensionsEnabled"` to `false`.
> The `settings.json` file is located at: > The `settings.json` file is located at:
> - `~/Library/Group Containers/group.com.docker/settings.json` on Mac > - `~/Library/Group Containers/group.com.docker/settings.json` on Mac
> - `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json` on Windows > - `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json` on Windows
> >
> This can also be done with [Hardened Docker Desktop](../hardened-desktop/index.md) > This can also be done with [Hardened Docker Desktop](/desktop/hardened-desktop/index.md)
### Turn on or turn off extensions not available in the Marketplace ### Turn on or turn off extensions not available in the Marketplace

View File

@ -24,7 +24,7 @@ development:
- title: Docker Extensions - title: Docker Extensions
description: Customize your Docker Desktop workflow. description: Customize your Docker Desktop workflow.
icon: extension icon: extension
link: /desktop/extensions/ link: /extensions/
services: services:
- title: Docker Hub - title: Docker Hub
description: Discover, share, and integrate container images description: Discover, share, and integrate container images

View File

@ -983,51 +983,55 @@ Reference:
path: /docker-hub/api/deprecated/ path: /docker-hub/api/deprecated/
- sectiontitle: Docker Extension SDK API - sectiontitle: Docker Extension SDK API
section: section:
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/DesktopUI/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/DesktopUI/
title: DesktopUI title: DesktopUI
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/Dialog/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/Dialog/
title: Dialog title: Dialog
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/Docker/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/Docker/
title: Docker title: Docker
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/DockerCommand/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/DockerCommand/
title: DockerCommand title: DockerCommand
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/DockerDesktopClient/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/DockerDesktopClient/
title: DockerDesktopClient title: DockerDesktopClient
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/Exec/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/Exec/
title: Exec title: Exec
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExecProcess/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExecProcess/
title: ExecProcess title: ExecProcess
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExecResult/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExecResult/
title: ExecResult title: ExecResult
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExecStreamOptions/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExecStreamOptions/
title: ExecStreamOptions title: ExecStreamOptions
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/Extension/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/Extension/
title: Extension title: Extension
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionCli/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionCli/
title: ExtensionCli title: ExtensionCli
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionHost/
title: ExtensionHost title: ExtensionHost
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExtensionVM/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExtensionVM/
title: ExtensionVM title: ExtensionVM
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/Host/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/Host/
title: Host title: Host
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/HttpService/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/HttpService/
title: HttpService title: HttpService
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/NavigationIntents/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/NavigationIntents/
title: NavigationIntents title: NavigationIntents
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/OpenDialogResult/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/OpenDialogResult/
title: OpenDialogResult title: OpenDialogResult
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/RawExecResult/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/RawExecResult/
title: RawExecResult title: RawExecResult
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/RequestConfig/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/RequestConfig/
title: RequestConfig title: RequestConfig
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/RequestConfigV0/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/RequestConfigV0/
title: RequestConfigV0 title: RequestConfigV0
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/Toast/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ServiceError/
title: ServiceError
- path: /extensions/extensions-sdk/dev/api/reference/interfaces/ServiceError/
title: SpawnOptions
- path: /extensions/extensions-sdk/dev/api/reference/interfaces/Toast/
title: Toast title: Toast
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/ExecResultV0/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/ExecResultV0/
title: ExecResultV0 title: ExecResultV0
- path: /desktop/extensions-sdk/dev/api/reference/interfaces/BackendV0/ - path: /extensions/extensions-sdk/dev/api/reference/interfaces/BackendV0/
title: BackendV0 title: BackendV0
- sectiontitle: Compose file reference - sectiontitle: Compose file reference
section: section:
@ -1346,100 +1350,100 @@ Manuals:
- sectiontitle: Docker Extensions - sectiontitle: Docker Extensions
section: section:
- path: /desktop/extensions/ - path: /extensions/
title: Overview title: Overview
- sectiontitle: Extensions on Docker Desktop - sectiontitle: Extensions on Docker Desktop
section: section:
- path: /desktop/extensions/marketplace/ - path: /extensions/marketplace/
title: Manage Marketplace extensions title: Manage Marketplace extensions
- path: /desktop/extensions/non-marketplace/ - path: /extensions/non-marketplace/
title: Manage non-Marketplace extensions title: Manage non-Marketplace extensions
- path: /desktop/extensions/settings-feedback/ - path: /extensions/settings-feedback/
title: Change settings and give feedback title: Change settings and give feedback
- path: /desktop/extensions/private-marketplace/ - path: /extensions/private-marketplace/
title: Configure a private Marketplace (Beta) title: Configure a private Marketplace (Beta)
- sectiontitle: Extensions SDK - sectiontitle: Extensions SDK
section: section:
- path: /desktop/extensions-sdk/ - path: /extensions/extensions-sdk/
title: Overview title: Overview
- path: /desktop/extensions-sdk/process/ - path: /extensions/extensions-sdk/process/
title: The build and publish process title: The build and publish process
- path: /desktop/extensions-sdk/quickstart/ - path: /extensions/extensions-sdk/quickstart/
title: Quickstart title: Quickstart
- sectiontitle: "Part one: Build" - sectiontitle: "Part one: Build"
section: section:
- title: Create a simple extension - title: Create a simple extension
path: /desktop/extensions-sdk/build/minimal-frontend-extension/ path: /extensions/extensions-sdk/build/minimal-frontend-extension/
- title: Create an advanced frontend extension - title: Create an advanced frontend extension
path: /desktop/extensions-sdk/build/frontend-extension-tutorial/ path: /extensions/extensions-sdk/build/frontend-extension-tutorial/
- title: Add a backend to your extension - title: Add a backend to your extension
path: /desktop/extensions-sdk/build/backend-extension-tutorial/ path: /extensions/extensions-sdk/build/backend-extension-tutorial/
- sectiontitle: "Part two: Publish" - sectiontitle: "Part two: Publish"
section: section:
- title: Overview - title: Overview
path: /desktop/extensions-sdk/extensions/ path: /extensions/extensions-sdk/extensions/
- title: Labels - title: Labels
path: /desktop/extensions-sdk/extensions/labels/ path: /extensions/extensions-sdk/extensions/labels/
- title: Validate - title: Validate
path: /desktop/extensions-sdk/extensions/validate/ path: /extensions/extensions-sdk/extensions/validate/
- title: Package and release your extension - title: Package and release your extension
path: /desktop/extensions-sdk/extensions/DISTRIBUTION/ path: /extensions/extensions-sdk/extensions/DISTRIBUTION/
- title: Generate a share link - title: Generate a share link
path: /desktop/extensions-sdk/extensions/share/ path: /extensions/extensions-sdk/extensions/share/
- title: Publish in the Marketplace - title: Publish in the Marketplace
path: /desktop/extensions-sdk/extensions/publish/ path: /extensions/extensions-sdk/extensions/publish/
- title: Build multi-arch extensions - title: Build multi-arch extensions
path: /desktop/extensions-sdk/extensions/multi-arch/ path: /extensions/extensions-sdk/extensions/multi-arch/
- sectiontitle: "Architecture" - sectiontitle: "Architecture"
section: section:
- title: Overview - title: Overview
path: /desktop/extensions-sdk/architecture/ path: /extensions/extensions-sdk/architecture/
- title: Metadata - title: Metadata
path: /desktop/extensions-sdk/architecture/metadata/ path: /extensions/extensions-sdk/architecture/metadata/
- title: Security - title: Security
path: /desktop/extensions-sdk/architecture/security/ path: /extensions/extensions-sdk/architecture/security/
- sectiontitle: "Design and UI styling" - sectiontitle: "Design and UI styling"
section: section:
- title: UI styling guidelines - title: UI styling guidelines
path: /desktop/extensions-sdk/design/ path: /extensions/extensions-sdk/design/
- title: Guidelines - title: Guidelines
path: /desktop/extensions-sdk/design/design-guidelines/ path: /extensions/extensions-sdk/design/design-guidelines/
- title: Docker design principles - title: Docker design principles
path: /desktop/extensions-sdk/design/design-principles/ path: /extensions/extensions-sdk/design/design-principles/
- title: MUI best practices - title: MUI best practices
path: /desktop/extensions-sdk/design/mui-best-practices/ path: /extensions/extensions-sdk/design/mui-best-practices/
- sectiontitle: "Developer Guides" - sectiontitle: "Developer Guides"
section: section:
- title: Invoke host binaries - title: Invoke host binaries
path: /desktop/extensions-sdk/guides/invoke-host-binaries/ path: /extensions/extensions-sdk/guides/invoke-host-binaries/
- title: Use the Docker socket from the extension backend - title: Use the Docker socket from the extension backend
path: /desktop/extensions-sdk/guides/use-docker-socket-from-backend/ path: /extensions/extensions-sdk/guides/use-docker-socket-from-backend/
- title: Interacting with Kubernetes - title: Interacting with Kubernetes
path: /desktop/extensions-sdk/guides/kubernetes/ path: /extensions/extensions-sdk/guides/kubernetes/
- title: Authentication - title: Authentication
path: /desktop/extensions-sdk/guides/oauth2-flow/ path: /extensions/extensions-sdk/guides/oauth2-flow/
- sectiontitle: Developer SDK tools - sectiontitle: Developer SDK tools
section: section:
- title: "Test and debug" - title: "Test and debug"
path: /desktop/extensions-sdk/dev/test-debug/ path: /extensions/extensions-sdk/dev/test-debug/
- title: "Continuous integration" - title: "Continuous integration"
path: /desktop/extensions-sdk/dev/continuous-integration/ path: /extensions/extensions-sdk/dev/continuous-integration/
- title: CLI reference - title: CLI reference
path: /desktop/extensions-sdk/dev/usage/ path: /extensions/extensions-sdk/dev/usage/
- sectiontitle: Extension APIs - sectiontitle: Extension APIs
section: section:
- title: Overview - title: Overview
path: /desktop/extensions-sdk/dev/api/overview/ path: /extensions/extensions-sdk/dev/api/overview/
- title: Extension Backend - title: Extension Backend
path: /desktop/extensions-sdk/dev/api/backend/ path: /extensions/extensions-sdk/dev/api/backend/
- title: Docker - title: Docker
path: /desktop/extensions-sdk/dev/api/docker/ path: /extensions/extensions-sdk/dev/api/docker/
- title: Dashboard - title: Dashboard
path: /desktop/extensions-sdk/dev/api/dashboard/ path: /extensions/extensions-sdk/dev/api/dashboard/
- title: Navigation - title: Navigation
path: /desktop/extensions-sdk/dev/api/dashboard-routes-navigation/ path: /extensions/extensions-sdk/dev/api/dashboard-routes-navigation/
- title: API Reference - title: API Reference
path: /desktop/extensions-sdk/dev/api/reference/README/ path: /extensions/extensions-sdk/dev/api/reference/README/
- sectiontitle: Docker Scout - sectiontitle: Docker Scout
section: section: