mirror of https://github.com/docker/docs.git
style guide alignments (#16111)
* style guide alignments * fix * Update desktop/extensions-sdk/quickstart.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> * Update desktop/extensions-sdk/build/build-install.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> * Update desktop/extensions-sdk/build/test-debug.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> * Update desktop/extensions-sdk/build/test-debug.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> * Update desktop/extensions-sdk/build/test-debug.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> * Update desktop/extensions-sdk/quickstart.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> * Update desktop/extensions-sdk/quickstart.md Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> Co-authored-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
This commit is contained in:
parent
2cb71f2573
commit
2a1fd8eb23
|
@ -1,7 +1,7 @@
|
|||
<!-- This text will be included in the Docker Desktop install topic for each Linux distribution -->
|
||||
|
||||
To start Docker Desktop for Linux, search **Docker Desktop** on the
|
||||
**Applications** menu and open it. This launches the whale menu icon and opens
|
||||
**Applications** menu and open it. This launches the Docker menu icon and opens
|
||||
the Docker Dashboard, reporting the status of Docker Desktop.
|
||||
|
||||
Alternatively, open a terminal and run:
|
||||
|
@ -49,7 +49,7 @@ Alternatively, open a terminal and run:
|
|||
$ systemctl --user enable docker-desktop
|
||||
```
|
||||
|
||||
To stop Docker Desktop, click on the whale menu tray icon to open the Docker menu and select **Quit Docker Desktop**.
|
||||
To stop Docker Desktop, select the Docker menu icon to open the Docker menu and select **Quit Docker Desktop**.
|
||||
|
||||
Alternatively, open a terminal and run:
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ To disable this feature, clear the **Use containerd for pulling and storing imag
|
|||
|
||||
### Show server and storage driver version
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker info
|
||||
Client:
|
||||
Context: default
|
||||
|
@ -93,9 +93,8 @@ Server:
|
|||
|
||||
### Run a simple container
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker run --rm hello-world
|
||||
|
||||
Unable to find image 'hello-world:latest' locally
|
||||
7d246653d051: Download complete
|
||||
432f982638b3: Download complete
|
||||
|
@ -112,7 +111,7 @@ This message shows that your installation appears to be working correctly.
|
|||
|
||||
Run the container specifying port settings:
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker run -p 8080:80 -d nginx
|
||||
|
||||
Unable to find image 'nginx:latest' locally
|
||||
|
@ -131,7 +130,7 @@ fd61d71c75fe: Download complete
|
|||
|
||||
Confirm the NGINX container is running:
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker ps
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
93b4d60dfd08 nginx "/docker-entrypoint.…" 3 seconds ago Up 3 seconds 0.0.0.0:8080->80/tcp stoic_mccarthy
|
||||
|
@ -145,18 +144,15 @@ You can also check from the browser that NGINX is running:
|
|||
|
||||
Sample Dockerfile:
|
||||
|
||||
```
|
||||
|
||||
```dockerfile
|
||||
FROM alpine
|
||||
|
||||
ENTRYPOINT ["echo", "hello friends"]
|
||||
|
||||
```
|
||||
|
||||
Build a multi-platform image:
|
||||
|
||||
```
|
||||
|
||||
```console
|
||||
$ docker buildx build --platform linux/amd64,linux/arm64 -t <username>/hello-friends .
|
||||
[+] Building 0.7s (7/7)
|
||||
FINISHED
|
||||
|
@ -184,13 +180,13 @@ FINISHED
|
|||
```
|
||||
Run multi-platform image:
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker run <username>/hello-friends
|
||||
|
||||
```
|
||||
Push a multi-platform image:
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker push <username>/hello-friends
|
||||
Using default tag: latest
|
||||
f1edbf6b99d2: Pushed
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Dev Environments
|
||||
keywords: Dev Environments, share, collaborate, local
|
||||
keywords: Dev Environments, share, Docker Desktop, Compose, launch
|
||||
title: Launch a dev environment
|
||||
redirect_from:
|
||||
- /desktop/dev-environments/create-compose-dev-env/
|
||||
|
@ -98,7 +98,7 @@ Docker then clones the repository with your specified branch or tag.
|
|||
|
||||
>Note
|
||||
>
|
||||
>Currently, Dev Environments is not able to detect the main language of the subdirectory. You need to define your own base image or services in a `compose-dev.yaml`file located in your subdirectory. For more information on how to configure, see the [React application with a Spring backend and a MySQL database sample](https://github.com/docker/awesome-compose/tree/master/react-java-mysql) or the [Go server with an Nginx proxy and a Postgres database sample](https://github.com/docker/awesome-compose/tree/master/nginx-golang-postgres).
|
||||
>Currently, Dev Environments is not able to detect the main language of the subdirectory. You need to define your own base image or services in a `compose-dev.yaml`file located in your subdirectory. For more information on how to configure, see the [React application with a Spring backend and a MySQL database sample](https://github.com/docker/awesome-compose/tree/master/react-java-mysql){:target="_blank" rel="noopener" class="_"} or the [Go server with an Nginx proxy and a Postgres database sample](https://github.com/docker/awesome-compose/tree/master/nginx-golang-postgres){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
1. From **Dev Environments** in Docker Dashboard, select **Create**. The **Create a Dev Environment** dialog displays.
|
||||
2. Select **Get Started** and then copy your Git subfolder link into the **Enter the Git Repository** field with **Existing Git repo** as the source.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Set up a dev Environments
|
||||
keywords: Dev Environments, share, collaborate, local, set up
|
||||
keywords: Dev Environments, share, docker dev, Docker Desktop
|
||||
title: Use the docker dev CLI plugin
|
||||
---
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Dev Environments
|
||||
keywords: Dev Environments, share, collaborate, local
|
||||
keywords: Dev Environments, share, local, Compose
|
||||
title: Overview
|
||||
---
|
||||
> **Beta**
|
||||
|
@ -26,7 +26,7 @@ Dev Environments is powered by [Docker Compose](/compose/). This allows Dev Envi
|
|||
|
||||
Every dev environment you want to run needs a `compose-dev.yaml` file which configures your application's services and lives in your project directory. You don't need to be an expert in Docker Compose or write a `compose-dev.yaml` file from scratch as Dev Environments creates a starter `compose-dev.yaml` files based on the main language in your project.
|
||||
|
||||
You can also use the many [sample dev environments](https://github.com/docker/awesome-compose) as a starting point for how to integrate different services. Alternatively, see [Set up a dev environment](set-up.md) for more information.
|
||||
You can also use the many [sample dev environments](https://github.com/docker/awesome-compose){:target="_blank" rel="noopener" class="_"} as a starting point for how to integrate different services. Alternatively, see [Set up a dev environment](set-up.md) for more information.
|
||||
|
||||
## What's next?
|
||||
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
description: Set up a dev Environments
|
||||
keywords: Dev Environments, share, collaborate, local, set up
|
||||
keywords: Dev Environments, share, set up, Compose, Docker Desktop
|
||||
title: Set up a dev environment
|
||||
---
|
||||
|
||||
## Set up your own dev environment
|
||||
|
||||
>**Changes to Dev Environments with Docker Desktop 4.13**
|
||||
>
|
||||
>Docker has simplified how you configure your dev environment project. All you need to get started is a `compose-dev.yaml` file. If you have an existing project with a `.docker/` folder this is automatically migrated the next time you launch.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Dev Environments
|
||||
keywords: Dev Environments, share, collaborate, local, share
|
||||
keywords: Dev Environments, share, Docker Desktop
|
||||
title: Distribute your dev environment
|
||||
---
|
||||
|
||||
|
|
|
@ -13,7 +13,9 @@ Once you have set up your directory correctly, you can build your extension for
|
|||
|
||||
To build the extension, run:
|
||||
|
||||
`docker build -t <name-of-your-extension> .`
|
||||
```console
|
||||
$ docker build -t <name-of-your-extension> .
|
||||
```
|
||||
|
||||
## Validate your extension
|
||||
|
||||
|
@ -23,23 +25,31 @@ The validation checks if the extension’s `Dockerfile` specifies all the requir
|
|||
|
||||
To validate, run:
|
||||
|
||||
`docker extension validate <name-of-your-extension>`
|
||||
```console
|
||||
$ docker extension validate <name-of-your-extension>
|
||||
```
|
||||
|
||||
If your extension is valid, the message below displays:
|
||||
|
||||
`The extension image "name-of-your-extension" is valid`.
|
||||
```console
|
||||
The extension image "name-of-your-extension" is valid
|
||||
```
|
||||
|
||||
Before the image is built, it is also possible to validate only the metadata.json file:
|
||||
|
||||
`$ docker extension validate /path/to/metadata.json`
|
||||
```console
|
||||
$ docker extension validate /path/to/metadata.json
|
||||
```
|
||||
|
||||
The JSON schema used to validate the `metadata.json` file against can be found under the [releases page](https://github.com/docker/extensions-sdk/releases/latest).
|
||||
The JSON schema used to validate the `metadata.json` file against can be found under the [releases page](https://github.com/docker/extensions-sdk/releases/latest){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
## Install the extension
|
||||
|
||||
To install the extension in Docker Desktop, run:
|
||||
|
||||
`docker extension install <name-of-your-extension>`
|
||||
```console
|
||||
$ docker extension install <name-of-your-extension>
|
||||
```
|
||||
|
||||
> Note
|
||||
>
|
||||
|
|
|
@ -8,7 +8,7 @@ redirect_from:
|
|||
|
||||
To start creating your extension, you first need a directory with files which range from the extension’s source code to the required extension-specific files. This page provides information on how to set up a simple Docker Extension that runs CLI commands in the backend.
|
||||
|
||||
For extensions with a backend service running REST services over sockets or named pipes, see the `vm-ui extension` [sample](https://github.com/docker/extensions-sdk/tree/main/samples).
|
||||
For extensions with a backend service running REST services over sockets or named pipes, see the `vm-ui extension` [sample](https://github.com/docker/extensions-sdk/tree/main/samples){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
> Note
|
||||
>
|
||||
|
@ -20,7 +20,7 @@ For extensions with a backend service running REST services over sockets or name
|
|||
|
||||
## Extension folder structure
|
||||
|
||||
In the `minimal-backend` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples), you can find a ready-to-go example that represents a UI extension built on HTML that runs a backend service. We will go through this code example in this tutorial.
|
||||
In the `minimal-backend` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples){:target="_blank" rel="noopener" class="_"}, you can find a ready-to-go example that represents a UI extension built on HTML that runs a backend service. We will go through this code example in this tutorial.
|
||||
|
||||
Although you can start from an empty directory, it is highly recommended that you start from the template below and change it accordingly to suit your needs.
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ To start creating your extension, you first need a directory with files which ra
|
|||
|
||||
## Extension folder structure
|
||||
|
||||
In the `minimal-frontend` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples), you can find a ready-to-go example that represents a UI Extension built on HTML. We will go through this code example in this tutorial.
|
||||
In the `minimal-frontend` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples){:target="_blank" rel="noopener" class="_"}, you can find a ready-to-go example that represents a UI Extension built on HTML. We will go through this code example in this tutorial.
|
||||
|
||||
Although you can start from an empty directory, it is highly recommended that you start from the template below and change it accordingly to suit your needs.
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ To start creating your extension, you first need a directory with files which ra
|
|||
|
||||
## Extension folder structure
|
||||
|
||||
In the `minimal-docker-cli` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples), you can find a ready-to-go example that represents a UI Extension invoking Docker commands. We will go through this code example in this tutorial.
|
||||
In the `minimal-docker-cli` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples){:target="_blank" rel="noopener" class="_"}, you can find a ready-to-go example that represents a UI Extension invoking Docker commands. We will go through this code example in this tutorial.
|
||||
|
||||
Although you can start from an empty directory, it is highly recommended that you start from the template below and change it accordingly to suit your needs.
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ To start creating your extension, you first need a directory with files which ra
|
|||
|
||||
## Extension folder structure
|
||||
|
||||
In the `react-extension` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples), you can find a ready-to-go example that represents a UI Extension built on ReactJS. We will go through this code example in this tutorial.
|
||||
In the `react-extension` [sample folder](https://github.com/docker/extensions-sdk/tree/main/samples){:target="_blank" rel="noopener" class="_"}, you can find a ready-to-go example that represents a UI Extension built on ReactJS. We will go through this code example in this tutorial.
|
||||
|
||||
Although you can start from an empty directory, it is highly recommended that you start from the template below and change it accordingly to suit your needs.
|
||||
|
||||
|
|
|
@ -19,13 +19,17 @@ The example below shows the [`Min FrontEnd Extension`](set-up/minimal-frontend-e
|
|||
|
||||
In order to open the Chrome DevTools for your extension when you click on the extension tab, run:
|
||||
|
||||
`$ docker extension dev debug <name-of-your-extensions>`
|
||||
```console
|
||||
$ docker extension dev debug <name-of-your-extensions>
|
||||
```
|
||||
|
||||
Each subsequent click on the extension tab will also open Chrome Dev Tools. To stop this behaviour, run:
|
||||
|
||||
`$ docker extension dev reset <name-of-your-extensions>`
|
||||
```console
|
||||
$ docker extension dev reset <name-of-your-extensions>
|
||||
```
|
||||
|
||||
After an extension is deployed, it is also possible to open Chrome DevTools from the UI extension part using a variation of the [Konami Code](https://en.wikipedia.org/wiki/Konami_Code). Click on the extension tab, and then hit the key sequence `up, up, down, down, left, right, left, right, p, d, t`.
|
||||
After an extension is deployed, it is also possible to open Chrome DevTools from the UI extension part using a variation of the [Konami Code](https://en.wikipedia.org/wiki/Konami_Code){:target="_blank" rel="noopener" class="_"}. Click on the extension tab, and then hit the key sequence `up, up, down, down, left, right, left, right, p, d, t`.
|
||||
|
||||
### Hot reloading whilst developing the UI
|
||||
|
||||
|
@ -33,22 +37,26 @@ During UI development, it’s helpful to use hot reloading to test your changes
|
|||
|
||||
Assuming your app runs on the default port, start your UI app and then run:
|
||||
|
||||
```
|
||||
cd ui
|
||||
npm start
|
||||
```console
|
||||
$ cd ui
|
||||
$ npm start
|
||||
```
|
||||
|
||||
This starts a development server that listens on port 3000.
|
||||
|
||||
You can now tell Docker Desktop to use this as the frontend source. In another terminal run:
|
||||
|
||||
`$ docker extension dev ui-source <name-of-your-extensions> http://localhost:3000`
|
||||
```console
|
||||
$ docker extension dev ui-source <name-of-your-extensions> http://localhost:3000
|
||||
```
|
||||
|
||||
Close and reopen the Docker Desktop dashboard and go to your extension. All the changes to the frontend code are immediately visible.
|
||||
|
||||
Once finished, you can reset the extension configuration to the original settings. This will also reset opening Chrome dev tools if you used `docker extension dev debug <name-of-your-extensions>`:
|
||||
|
||||
`$ docker extension dev reset <name-of-your-extensions>`
|
||||
```console
|
||||
$ docker extension dev reset <name-of-your-extensions>
|
||||
```
|
||||
|
||||
## Show the extension containers
|
||||
|
||||
|
@ -62,7 +70,9 @@ If your extension is composed of one or more services running as containers in t
|
|||
|
||||
To update the extension, you must first [rebuild and reinstall](build-install.md) your extension. You can then use the update command.
|
||||
|
||||
`docker extension update <name-of-your-extensions>`
|
||||
```console
|
||||
$ docker extension update <name-of-your-extensions>
|
||||
```
|
||||
|
||||
## Clean up
|
||||
|
||||
|
|
|
@ -14,9 +14,9 @@ Here is a simple checklist to go through when building your extension:
|
|||
|
||||
## Build a consistent experience with Docker Desktop.
|
||||
|
||||
Use the [Docker Material UI Theme](https://www.npmjs.com/package/@docker/docker-mui-theme) and the [Docker Extensions Styleguide](https://www.figma.com/file/U7pLWfEf6IQKUHLhdateBI/Docker-Design-Guidelines?node-id=1%3A28771) to ensure that your extension feels like it is part of Docker Desktop to create a seamless experience for users.
|
||||
Use the [Docker Material UI Theme](https://www.npmjs.com/package/@docker/docker-mui-theme){:target="_blank" rel="noopener" class="_"} and the [Docker Extensions Styleguide](https://www.figma.com/file/U7pLWfEf6IQKUHLhdateBI/Docker-Design-Guidelines?node-id=1%3A28771){:target="_blank" rel="noopener" class="_"} to ensure that your extension feels like it is part of Docker Desktop to create a seamless experience for users.
|
||||
|
||||
- Ensure the extension has both a light and dark theme. Using the components and styles as per the Docker style guide ensures that your extension meets the [level AA accessibility standard.](https://www.w3.org/WAI/WCAG2AA-Conformance)
|
||||
- Ensure the extension has both a light and dark theme. Using the components and styles as per the Docker style guide ensures that your extension meets the [level AA accessibility standard.](https://www.w3.org/WAI/WCAG2AA-Conformance){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ description: Guidelines for using MUI to maximise compatibility with Docker Desk
|
|||
keywords: Docker, extensions, mui, theme, theming, material-ui, material
|
||||
---
|
||||
|
||||
This article assumes you're following our recommended practice by using our [Material UI theme](https://www.npmjs.com/package/@docker/docker-mui-theme). Following the steps below maximises compatibility with Docker Desktop and minimises the work you need to do as an extension author. They should be considered supplementary to the non-MUI-specific guidelines found in the [UI Styling overview](overview.md).
|
||||
This article assumes you're following our recommended practice by using our [Material UI theme](https://www.npmjs.com/package/@docker/docker-mui-theme){:target="_blank" rel="noopener" class="_"}. Following the steps below maximises compatibility with Docker Desktop and minimises the work you need to do as an extension author. They should be considered supplementary to the non-MUI-specific guidelines found in the [UI Styling overview](overview.md).
|
||||
|
||||
## Assume the theme can change at any time
|
||||
|
||||
|
@ -35,11 +35,11 @@ Sometimes you’ll need a piece of UI that doesn’t exist in our design system.
|
|||
|
||||
If you still decide to build it yourself after contacting us, try and define the new UI in a reuseable fashion. If you define your custom UI in just one place, it’ll make it easier to change in the future if our core theme changes. You could use:
|
||||
|
||||
- A new `variant` of an existing component - see [MUI docs](https://mui.com/material-ui/customization/theme-components/#creating-new-component-variants)
|
||||
- A new `variant` of an existing component - see [MUI docs](https://mui.com/material-ui/customization/theme-components/#creating-new-component-variants){:target="_blank" rel="noopener" class="_"}
|
||||
- A MUI mixin (a freeform bundle of reuseable styling rules defined inside a theme)
|
||||
- A new [reuseable component](https://mui.com/material-ui/customization/how-to-customize/#2-reusable-component)
|
||||
- A new [reuseable component](https://mui.com/material-ui/customization/how-to-customize/#2-reusable-component){:target="_blank" rel="noopener" class="_"}
|
||||
|
||||
Some of the above options require you to extend our MUI theme. See the MUI documentation on [theme composition](https://mui.com/material-ui/customization/theming/#nesting-the-theme).
|
||||
Some of the above options require you to extend our MUI theme. See the MUI documentation on [theme composition](https://mui.com/material-ui/customization/theming/#nesting-the-theme){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
## What's next?
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ description: Docker extension design
|
|||
keywords: Docker, extensions, 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){:target="_blank" rel="noopener" class="_"}. 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){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
We require extensions to match the wider Docker Desktop UI to a certain degree, and reserve the right to make this stricter in the future.
|
||||
|
||||
|
@ -14,9 +14,9 @@ To get started on your UI, follow the steps below.
|
|||
|
||||
### Recommended: React+MUI, using our theme
|
||||
|
||||
Docker Desktop's UI is written in React and [MUI](https://mui.com/) (using Material UI to specific). This is the only officially supported framework for building extensions, and the one that our `init` command automatically configures for you. Using it brings significant benefits to authors:
|
||||
Docker Desktop's UI is written in React and [MUI](https://mui.com/){:target="_blank" rel="noopener" class="_"} (using Material UI to specific). This is the only officially supported framework for building extensions, and the one that our `init` command automatically configures for you. Using it brings significant benefits to authors:
|
||||
|
||||
- You can use our [Material UI theme](https://www.npmjs.com/package/@docker/docker-mui-theme) to automatically replicate Docker Desktop's look & feel.
|
||||
- You can use our [Material UI theme](https://www.npmjs.com/package/@docker/docker-mui-theme){:target="_blank" rel="noopener" class="_"} to automatically replicate Docker Desktop's look & feel.
|
||||
- In future, we'll release utilities and components specifically targeting this combination (e.g. custom MUI components, or React hooks for interacting with Docker).
|
||||
|
||||
Read our [MUI best practices](mui-best-practices.md) guide to learn future-proof ways to use MUI with Docker Desktop.
|
||||
|
@ -37,7 +37,7 @@ See our [MUI best practices](mui-best-practices.md) article.
|
|||
|
||||
### Only use colors from our palette
|
||||
|
||||
With minor exceptions, displaying your logo for example, you should only use colors from our palette. These can be found in our [style guide document](https://www.figma.com/file/U7pLWfEf6IQKUHLhdateBI/Docker-Design-Guidelines?node-id=1%3A28771), and will also soon be available in our MUI theme and via CSS variables.
|
||||
With minor exceptions, displaying your logo for example, you should only use colors from our palette. These can be found in our [style guide document](https://www.figma.com/file/U7pLWfEf6IQKUHLhdateBI/Docker-Design-Guidelines?node-id=1%3A28771){:target="_blank" rel="noopener" class="_"}, and will also soon be available in our MUI theme and via CSS variables.
|
||||
|
||||
### Use counterpart colors in light/dark mode
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ keywords: Docker, Extensions, sdk, Kubernetes
|
|||
|
||||
Currently, 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 Docker extension.
|
||||
|
||||
To request an API that directly interacts with Docker Desktop-managed Kubernetes, you can upvote [this issue](https://github.com/docker/extensions-sdk/issues/181) in our GitHub repository.
|
||||
To request an API that directly interacts with Docker Desktop-managed Kubernetes, you can upvote [this issue](https://github.com/docker/extensions-sdk/issues/181){:target="_blank" rel="noopener" class="_"} in our GitHub repository.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
@ -24,7 +24,7 @@ To find out how to ship the `kubectl` command line tool for multiple platforms a
|
|||
|
||||
## Examples
|
||||
|
||||
The code snippets below have been put together in the [Kubernetes Sample Extension](https://github.com/docker/extensions-sdk/tree/main/samples/kubernetes-sample-extension). It shows how to interact with a Kubernetes cluster by shipping the `kubectl` commandline tool.
|
||||
The code snippets below have been put together in the [Kubernetes Sample Extension](https://github.com/docker/extensions-sdk/tree/main/samples/kubernetes-sample-extension){:target="_blank" rel="noopener" class="_"}. It shows how to interact with a Kubernetes cluster by shipping the `kubectl` commandline tool.
|
||||
|
||||
### Check the Kubernetes API server is reachable
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ To publish the extension you need to upload the Docker image to [DockerHub](http
|
|||
>
|
||||
> See [distribution and new releases](DISTRIBUTION.md#distribution-and-new-releases) for more information.
|
||||
>
|
||||
> See [semver.org](https://semver.org/) to learn more about semantic versioning.
|
||||
> See [semver.org](https://semver.org/){:target="_blank" rel="noopener" class="_"} to learn more about semantic versioning.
|
||||
|
||||
2. Push the image to Docker Hub:
|
||||
|
||||
|
|
|
@ -46,11 +46,11 @@ This build section provides sample folders with ready-to-go examples that walk y
|
|||
|
||||
>Note
|
||||
>
|
||||
>Whilst you're building your extension, make sure you follow our [design](design/design-guidelines.md) and [UI styling](design/overview.md) guidelines to ensure visual consistency and [level AA accessibility standards](https://www.w3.org/WAI/WCAG2AA-Conformance).
|
||||
>Whilst you're building your extension, make sure you follow our [design](design/design-guidelines.md) and [UI styling](design/overview.md) guidelines to ensure visual consistency and [level AA accessibility standards](https://www.w3.org/WAI/WCAG2AA-Conformance){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
If your extension requires additional services running in the Docker Desktop VM, see the [VM UI](https://github.com/docker/extensions-sdk/tree/main/samples/vm-service) example.
|
||||
If your extension requires additional services running in the Docker Desktop VM, see the [VM UI](https://github.com/docker/extensions-sdk/tree/main/samples/vm-service){:target="_blank" rel="noopener" class="_"} example.
|
||||
|
||||
For further inspiration, see the other examples in the [samples folder](https://github.com/docker/extensions-sdk/tree/main/samples)
|
||||
For further inspiration, see the other examples in the [samples folder](https://github.com/docker/extensions-sdk/tree/main/samples){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
### Part two: Publish and distribute your extension
|
||||
|
||||
|
@ -58,7 +58,7 @@ Docker Desktop displays published extensions in the Extensions Marketplace. The
|
|||
|
||||
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](https://www.docker.com/products/extensions/submissions/). We’ll 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.
|
||||
If you want your extension to be published in the Marketplace, you can submit your extension [here](https://www.docker.com/products/extensions/submissions/){:target="_blank" rel="noopener" class="_"}. We’ll 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.
|
||||
|
||||
## What’s next?
|
||||
If you want to get up and running quickly with a Docker Extension, see the [Quickstart guide](quickstart.md).
|
||||
|
|
|
@ -15,14 +15,16 @@ Follow the guide below to build a basic Docker Extension quickly. The Quickstart
|
|||
## Prerequisites
|
||||
|
||||
- [Docker Desktop](../release-notes.md)
|
||||
- [NodeJS](https://nodejs.org/)
|
||||
- [Go](https://go.dev/dl/)
|
||||
- [NodeJS](https://nodejs.org/){:target="_blank" rel="noopener" class="_"}
|
||||
- [Go](https://go.dev/dl/){:target="_blank" rel="noopener" class="_"}
|
||||
|
||||
## Step one: Set up your directory
|
||||
|
||||
To set up your directory, use the `init` subcommand and provide a name for your extension.
|
||||
|
||||
`docker extension init my-extension`
|
||||
```console
|
||||
$ docker extension init my-extension
|
||||
```
|
||||
|
||||
You’ll be asked a series of questions about your extension, such as its name, a description, and the name of your Hub repository. This helps the CLI generate a set of boilerplate files for you to get started. The boilerplate files are stored in the directory `my-extension`.
|
||||
|
||||
|
@ -37,19 +39,24 @@ For more information and guidelines on building the UI, see the [Design and UI s
|
|||
|
||||
To build your extension, run:
|
||||
|
||||
`docker build -t <name-of-your-extension> .`
|
||||
```console
|
||||
$ docker build -t <name-of-your-extension> .
|
||||
```
|
||||
|
||||
`docker build` builds your extension and also generates an image which is named after your chosen hub repository. For instance, if you typed `john/my-extension` as the answer to the following question:
|
||||
|
||||
`? Hub repository (eg. namespace/repository on hub): john/my-extension`
|
||||
|
||||
```console
|
||||
? Hub repository (eg. namespace/repository on hub): john/my-extension`
|
||||
```
|
||||
The `docker build` generates an image with name `john/my-extension`.
|
||||
|
||||
## Step three: Install and preview the extension
|
||||
|
||||
To install the extension in Docker Desktop, run:
|
||||
|
||||
`docker extension install <name-of-your-extension>`
|
||||
```console
|
||||
$ docker extension install <name-of-your-extension>
|
||||
```
|
||||
|
||||
To preview the extension in Docker Desktop, close and open Docker Dashboard once the installation is complete.
|
||||
|
||||
|
@ -63,7 +70,9 @@ If you want to make your extension available to all Docker Desktop users, you ca
|
|||
|
||||
To remove the extension, run:
|
||||
|
||||
`docker extension rm <name-of-your-extension>`
|
||||
```console
|
||||
$ docker extension rm <name-of-your-extension>
|
||||
```
|
||||
|
||||
## What's next
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ Anyone can use Docker Extensions and there is no limit to the number of extensio
|
|||
## What extensions are available?
|
||||
|
||||
There is a mix of partner and community-built extensions and Docker-built extensions.
|
||||
You can explore the list of available extensions in [Docker Hub](https://hub.docker.com/search?q=&type=extension) or in the Extensions Marketplace within Docker Desktop.
|
||||
You can explore the list of available extensions in [Docker Hub](https://hub.docker.com/search?q=&type=extension){:target="_blank" rel="noopener" class="_"} or in the Extensions Marketplace within Docker Desktop.
|
||||
|
||||
To find out more about Docker Extensions, we recommend the video walkthrough from DockerCon 2022:
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Extensions
|
||||
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, feedback
|
||||
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, Marketplace
|
||||
title: Marketplace extensions
|
||||
---
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Extensions
|
||||
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows, feedback
|
||||
keywords: Docker Extensions, Docker Desktop, Linux, Mac, Windows,
|
||||
title: Non-Marketplace extensions
|
||||
---
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ Read the [Blog](https://www.docker.com/blog/updating-product-subscriptions/){: t
|
|||
|
||||
## Do I need to pay to create or share Docker Extensions?
|
||||
|
||||
No, the [Docker Extension SDK](https://www.npmjs.com/package/@docker/extension-api-client) is licensed under the Apache 2.0 License and is free to use. Anyone can create new Docker Extensions and share them without constraints.
|
||||
No, the [Docker Extension SDK](https://www.npmjs.com/package/@docker/extension-api-client){:target="_blank" rel="noopener" class="_"} is licensed under the Apache 2.0 License and is free to use. Anyone can create new Docker Extensions and share them without constraints.
|
||||
|
||||
## Do I need to use a specific license when I create a Docker Extension?
|
||||
|
||||
|
|
|
@ -227,7 +227,7 @@ Bash has [built-in support for
|
|||
completion](https://www.debian-administration.org/article/316/An_introduction_to_bash_completion_part_1){:target="_blank"
|
||||
class="_"} To activate completion for Docker commands, these files need to be
|
||||
copied or symlinked to your `bash_completion.d/` directory. For example, if you
|
||||
installed bash via [Homebrew](https://brew.sh):
|
||||
installed bash via [Homebrew](https://brew.sh){:target="_blank" rel="noopener" class="_"}:
|
||||
|
||||
```bash
|
||||
etc=/Applications/Docker.app/Contents/Resources/etc
|
||||
|
|
|
@ -109,15 +109,15 @@ containers, or select **Switch to Linux containers** to use Linux containers
|
|||
|
||||
For more information on Windows containers, refer to the following documentation:
|
||||
|
||||
- Microsoft documentation on [Windows containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/index).
|
||||
- Microsoft documentation on [Windows containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/index){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
- [Build and Run Your First Windows Server Container (Blog Post)](https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/)
|
||||
- [Build and Run Your First Windows Server Container (Blog Post)](https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/){:target="_blank" rel="noopener" class="_"}
|
||||
gives a quick tour of how to build and run native Docker Windows containers on Windows 10 and Windows Server 2016 evaluation releases.
|
||||
|
||||
- [Getting Started with Windows Containers (Lab)](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md)
|
||||
shows you how to use the [MusicStore](https://github.com/aspnet/MusicStore/blob/dev/README.md)
|
||||
- [Getting Started with Windows Containers (Lab)](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md){:target="_blank" rel="noopener" class="_"}
|
||||
shows you how to use the [MusicStore](https://github.com/aspnet/MusicStore/blob/dev/README.md){:target="_blank" rel="noopener" class="_"}
|
||||
application with Windows containers. The MusicStore is a standard .NET application and,
|
||||
[forked here to use containers](https://github.com/friism/MusicStore), is a good example of a multi-container application.
|
||||
[forked here to use containers](https://github.com/friism/MusicStore){:target="_blank" rel="noopener" class="_"}, is a good example of a multi-container application.
|
||||
|
||||
- To understand how to connect to Windows containers from the local host, see
|
||||
[I want to connect to a container from Windows](../networking.md#i-want-to-connect-to-a-container-from-the-host)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Docker Dashboard
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, images, user manual
|
||||
title: Sign in and get started
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, images, user manual, quick start, guide, sign in
|
||||
title: Quick Start Guide and sign in
|
||||
redirect_from:
|
||||
- /desktop/linux/
|
||||
- /desktop/linux/index/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: FAQs and known issues
|
||||
description: FAQ for Enhanced Container Isolation
|
||||
keywords: enhanced container isolation, security, faq, sysbox
|
||||
keywords: enhanced container isolation, security, faq, sysbox, known issues, Docker Desktop
|
||||
toc_max: 2
|
||||
---
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
description: Instructions on how to set up enhanced container isolation
|
||||
title: Key features and benefits
|
||||
keywords: set up, enhanced container isolation, rootless, security
|
||||
keywords: set up, enhanced container isolation, rootless, security, features, Docker Desktop
|
||||
---
|
||||
|
||||
### Linux User Namespace on all Containers
|
||||
|
||||
With Enhanced Container Isolation, all user containers leverage the [Linux user-namespace](https://man7.org/linux/man-pages/man7/user_namespaces.7.html)
|
||||
With Enhanced Container Isolation, all user containers leverage the [Linux user-namespace](https://man7.org/linux/man-pages/man7/user_namespaces.7.html){:target="_blank" rel="noopener" class="_"}
|
||||
for extra isolation. This means that the root user in the container maps to an unprivileged
|
||||
user in the Docker Desktop Linux VM.
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ keywords: set up, enhanced container isolation, rootless, security
|
|||
>Enhance Container Isolation is available to Docker Business customers only.
|
||||
|
||||
Enhanced Container Isolation hardens container isolation using the [Sysbox
|
||||
container runtime](https://github.com/nestybox/sysbox). Sysbox is a fork of the
|
||||
container runtime](https://github.com/nestybox/sysbox){:target="_blank" rel="noopener" class="_"}. Sysbox is a fork of the
|
||||
standard OCI runc runtime that was modified to enhance container isolation and
|
||||
workloads. For more details see [Under the hood](#under-the-hood).
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Registry Access Management
|
||||
keywords: registry, access, managment
|
||||
keywords: registry access managment, Hardened Desktop, Docker Desktop, images, Docker Hub
|
||||
title: Registry Access Management
|
||||
redirect_from:
|
||||
- /docker-hub/registry-access-management/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Docker Desktop overview
|
||||
keywords: Desktop, Docker, GUI, run, docker, local, machine, dashboard
|
||||
keywords: Docker Desktop, Docker, features, GUI, linux, mac, windows
|
||||
title: Docker Desktop
|
||||
redirect_from:
|
||||
- /desktop/opensource/
|
||||
|
@ -22,7 +22,7 @@ that enables you to build and share containerized applications and microservices
|
|||
It provides a simple interface that enables you to manage your containers, applications, and images directly from your machine without having to use the CLI to perform core actions.
|
||||
|
||||
<style>
|
||||
.tab-content > .tab-pane {
|
||||
.tab-content > .tab-pane {s
|
||||
background-color: #fafafb;
|
||||
border: 1px solid #ddd;
|
||||
border-top: 0;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop Arch package. Mostly meant for hackers who want to try out Docker Desktop on a variety of Arch-based distributions.
|
||||
keywords: Arch Linux, install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Arch-based distributions
|
||||
title: Install on Arch-based distributions
|
||||
redirect_from:
|
||||
- /desktop/linux/install/archlinux/
|
||||
---
|
||||
|
@ -22,7 +22,6 @@ Additionally, for non-Gnome Desktop environments, `gnome-terminal` must be insta
|
|||
$ sudo pacman -S gnome-terminal
|
||||
```
|
||||
|
||||
|
||||
## Install Docker Desktop
|
||||
|
||||
1. Install client binaries. Docker does not have an Arch package repository. Binaries not included in the package must be installed manually before installing Docker Desktop.
|
||||
|
@ -38,7 +37,6 @@ Static binaries for the Docker client are available for Linux (as `docker`).
|
|||
$ sudo pacman -U ./docker-desktop-<version>-<arch>.pkg.tar.zst
|
||||
```
|
||||
|
||||
|
||||
## Launch Docker Desktop
|
||||
|
||||
{% include desktop-linux-launch.md %}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop on Debian
|
||||
keywords: debian, install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Debian
|
||||
title: Install on Debian
|
||||
toc_max: 4
|
||||
redirect_from:
|
||||
- /desktop/linux/install/debian/
|
||||
|
@ -38,7 +38,7 @@ $ sudo apt purge docker-desktop
|
|||
>
|
||||
> If you have installed the Docker Desktop for Linux tech preview or beta version, you need to remove all files that were generated by those packages (eg. `~/.config/systemd/user/docker-desktop.service`, `~/.local/share/systemd/user/docker-desktop.service`).
|
||||
|
||||
For a Gnome Desktop environment, you must also install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/).
|
||||
For a Gnome Desktop environment, you must also install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
For non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop on Fedora
|
||||
keywords: fedora, rpm, update install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Fedora
|
||||
title: Install on Fedora
|
||||
toc_max: 4
|
||||
redirect_from:
|
||||
- /desktop/linux/install/fedora/
|
||||
|
@ -17,7 +17,7 @@ To install Docker Desktop successfully, you must:
|
|||
- Meet the [system requirements](linux-install.md#system-requirements).
|
||||
- Have a 64-bit version of either Fedora 35 or Fedora 36.
|
||||
|
||||
Additionally, for a Gnome Desktop environment you must install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/).
|
||||
Additionally, for a Gnome Desktop environment you must install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
For non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: How to install Docker Desktop on Linux
|
||||
keywords: linux, desktop, docker desktop, docker desktop for linux, dd4l, install, system requirements
|
||||
title: Install Docker Desktop on Linux
|
||||
title: Install on Linux
|
||||
redirect_from:
|
||||
- /desktop/linux/install/
|
||||
---
|
||||
|
@ -31,7 +31,7 @@ To install Docker Desktop successfully, your Linux host must meet the following
|
|||
- **QEMU must be version 5.2 or newer**. We recommend upgrading to the latest version.
|
||||
- systemd init system.
|
||||
- Gnome, KDE, or MATE Desktop environment.
|
||||
- For many Linux distros, the Gnome environment does not support tray icons. To add support for tray icons, you need to install a Gnome extension. For example, [AppIndicator](https://extensions.gnome.org/extension/615/appindicator-support/).
|
||||
- For many Linux distros, the Gnome environment does not support tray icons. To add support for tray icons, you need to install a Gnome extension. For example, [AppIndicator](https://extensions.gnome.org/extension/615/appindicator-support/){:target="_blank" rel="noopener" class="_"}.
|
||||
- At least 4 GB of RAM.
|
||||
- Enable configuring ID mapping in user namespaces, see [File sharing](../faqs/linuxfaqs.md#how-do-i-enable-file-sharing).
|
||||
|
||||
|
@ -67,7 +67,7 @@ Docker supports Docker Desktop on the current LTS release of the aforementioned
|
|||
### KVM virtualization support
|
||||
|
||||
|
||||
Docker Desktop runs a VM that requires [KVM support](https://www.linux-kvm.org).
|
||||
Docker Desktop runs a VM that requires [KVM support](https://www.linux-kvm.org){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
The `kvm` module should load automatically if the host has virtualization support. To load the module manually, run:
|
||||
|
||||
|
@ -143,7 +143,7 @@ Log out and log back in so that your group membership is re-evaluated.
|
|||
> If you do not agree to the terms, the Docker Desktop application will close and you can no longer run Docker Desktop on your machine. You can choose to accept the terms at a later date by opening Docker Desktop.
|
||||
{: .important}
|
||||
|
||||
For more information, see [Docker Desktop Subscription Service Agreement](https://www.docker.com/legal/docker-subscription-service-agreement). We recommend that you also read the [FAQs](https://www.docker.com/pricing/faq){: target="_blank" rel="noopener" class="_" id="dkr_docs_desktop_install_btl"}.
|
||||
For more information, see [Docker Desktop Subscription Service Agreement](https://www.docker.com/legal/docker-subscription-service-agreement){:target="_blank" rel="noopener" class="_"}. We recommend that you also read the [FAQs](https://www.docker.com/pricing/faq){: target="_blank" rel="noopener" class="_" id="dkr_docs_desktop_install_btl"}.
|
||||
|
||||
|
||||
## Where to go next
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: How to install Docker Desktop on Mac
|
||||
keywords: mac, install, download, run, docker, local
|
||||
title: Install Docker Desktop on Mac
|
||||
keywords: mac, install, download, Docker Desktop, intel, apple silicon,
|
||||
title: Install on Mac
|
||||
redirect_from:
|
||||
- /desktop/mac/install/
|
||||
- /docker-for-mac/install/
|
||||
|
@ -23,7 +23,7 @@ This page contains information about system requirements, download URLs, and ins
|
|||
[Mac with Intel chip](https://desktop.docker.com/mac/main/amd64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-amd64){: .button .primary-btn }
|
||||
[Mac with Apple silicon](https://desktop.docker.com/mac/main/arm64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-arm64){: .button .primary-btn }
|
||||
|
||||
*For checksums, see [Release notes](../release-notes.md)*
|
||||
*For checksums, see [Release notes](../release-notes.md).*
|
||||
|
||||
## System requirements
|
||||
|
||||
|
@ -85,7 +85,7 @@ Your Mac must meet the following requirements to install Docker Desktop successf
|
|||
> If you do not agree to the terms, the Docker Desktop application will close and you can no longer run Docker Desktop on your machine. You can choose to accept the terms at a later date by opening Docker Desktop.
|
||||
{: .important}
|
||||
|
||||
For more information, see [Docker Desktop Subscription Service Agreement](https://www.docker.com/legal/docker-subscription-service-agreement). We recommend that you also read the [FAQs](https://www.docker.com/pricing/faq){: target="_blank" rel="noopener" class="_" id="dkr_docs_desktop_install_btl"}.
|
||||
For more information, see [Docker Desktop Subscription Service Agreement](https://www.docker.com/legal/docker-subscription-service-agreement){: target="_blank" rel="noopener" class="_" }. We recommend that you also read the [FAQs](https://www.docker.com/pricing/faq){: target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
### Install from the command line
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop on Ubuntu
|
||||
keywords: ubuntu, install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Ubuntu
|
||||
title: Install on Ubuntu
|
||||
toc_max: 4
|
||||
redirect_from:
|
||||
- /desktop/linux/install/ubuntu/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: How to install Docker Desktop for Windows
|
||||
keywords: windows, install, download, run, docker, local
|
||||
title: Install Docker Desktop on Windows
|
||||
keywords: windows, install, download, run, docker, local, Docker Desktop
|
||||
title: Install on Windows
|
||||
redirect_from:
|
||||
- /desktop/windows/install/
|
||||
- /docker-ee-for-windows/install/
|
||||
|
@ -102,7 +102,7 @@ Looking for information on using Windows containers?
|
|||
provides a tutorial on how to set up and run Windows containers on Windows 10, Windows Server 2016 and Windows Server 2019. It shows you how to use a MusicStore application
|
||||
with Windows containers.
|
||||
- Docker Container Platform for Windows [articles and blog
|
||||
posts](https://www.docker.com/microsoft/) on the Docker website.
|
||||
posts](https://www.docker.com/microsoft/){:target="_blank" rel="noopener" class="_"} on the Docker website.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
|
@ -116,7 +116,7 @@ Looking for information on using Windows containers?
|
|||
1. Double-click **Docker Desktop Installer.exe** to run the installer.
|
||||
|
||||
If you haven't already downloaded the installer (`Docker Desktop Installer.exe`), you can get it from
|
||||
[**Docker Hub**](https://hub.docker.com/editions/community/docker-ce-desktop-windows/).
|
||||
[**Docker Hub**](https://hub.docker.com/editions/community/docker-ce-desktop-windows/){:target="_blank" rel="noopener" class="_"}.
|
||||
It typically downloads to your `Downloads` folder, or you can run it from
|
||||
the recent downloads bar at the bottom of your web browser.
|
||||
|
||||
|
@ -135,13 +135,13 @@ Looking for information on using Windows containers?
|
|||
|
||||
After downloading **Docker Desktop Installer.exe**, run the following command in a terminal to install Docker Desktop:
|
||||
|
||||
```
|
||||
"Docker Desktop Installer.exe" install
|
||||
```console
|
||||
$ "Docker Desktop Installer.exe" install
|
||||
```
|
||||
|
||||
If you’re using PowerShell you should run it as:
|
||||
|
||||
```
|
||||
```powershell
|
||||
Start-Process 'Docker Desktop Installer.exe' -Wait install
|
||||
```
|
||||
|
||||
|
@ -166,8 +166,8 @@ The `install` command accepts the following flags:
|
|||
|
||||
If your admin account is different to your user account, you must add the user to the **docker-users** group:
|
||||
|
||||
```
|
||||
net localgroup docker-users <user> /add
|
||||
```console
|
||||
$ net localgroup docker-users <user> /add
|
||||
```
|
||||
|
||||
## Start Docker Desktop
|
||||
|
@ -189,7 +189,7 @@ Docker Desktop does not start automatically after installation. To start Docker
|
|||
> If you do not agree to the terms, the Docker Desktop application will close and you can no longer run Docker Desktop on your machine. You can choose to accept the terms at a later date by opening Docker Desktop.
|
||||
{: .important}
|
||||
|
||||
For more information, see [Docker Desktop Subscription Service Agreement](https://www.docker.com/legal/docker-subscription-service-agreement/). We recommend that you also read the [FAQs](https://www.docker.com/pricing/faq){: target="\_blank" rel="noopener" class="*" id="dkr_docs_desktop_install_btl"}.
|
||||
For more information, see [Docker Desktop Subscription Service Agreement](https://www.docker.com/legal/docker-subscription-service-agreement/){:target="_blank" rel="noopener" class="_"}. We recommend that you also read the [FAQs](https://www.docker.com/pricing/faq){: target="\_blank" rel="noopener" class="*" id="dkr_docs_desktop_install_btl"}.
|
||||
|
||||
|
||||
## Where to go next
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Deploying to Kubernetes on Docker Desktop
|
||||
keywords: deploy, kubernetes, kubectl, orchestration
|
||||
keywords: deploy, kubernetes, kubectl, orchestration, Docker Desktop
|
||||
title: Deploy on Kubernetes
|
||||
redirect_from:
|
||||
- /docker-for-windows/kubernetes/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Permission requirements for Docker Desktop for Mac
|
||||
keywords: Docker Desktop, mac, security, install
|
||||
keywords: Docker Desktop, mac, security, install, permissions
|
||||
title: Understand permission requirements for Mac
|
||||
redirect_from:
|
||||
- /docker-for-mac/privileged-helper/
|
||||
|
@ -13,11 +13,11 @@ It also provides clarity on running containers as `root` as opposed to having `r
|
|||
|
||||
## Permission requirements
|
||||
|
||||
In the default set up flow, Docker Desktop for Mac does not require root privileges for installation but does require `root` access to be granted on the first run. The first time that Docker Desktop is launched the user receives an admin prompt to grant permissions for a privileged helper service to be installed. For subsequent runs, no `root` privileges are required.
|
||||
In the default set up flow, Docker Desktop for Mac doesn't require root privileges for installation but does require `root` access to be granted on the first run. The first time that Docker Desktop is launched the user receives an admin prompt to grant permissions for a privileged helper service to be installed. For subsequent runs, no `root` privileges are required.
|
||||
|
||||
The reason for this is that Docker Desktop needs to perform a limited set of privileged operations using the privileged helper process `com.docker.vmnetd`. This approach allows, following the principle of least privilege, `root` access to be used only for the operations for which it is absolutely necessary, while still being able to use Docker Desktop as an unprivileged user.
|
||||
|
||||
In version 4.11 and above of Docker Desktop for Mac you can avoid running the privileged helper service in the background by using the `--user` flag on the [install command](../install/mac-install.md#install-from-the-command-line). This will result in `com.docker.vmnetd` being used for set up during installation and then disabled at runtime. In this case, the user will not be prompted to grant root privileges on the first run of Docker Desktop. Specifically, the `--user` flag:
|
||||
In version 4.11 and later of Docker Desktop for Mac you can avoid running the privileged helper service in the background by using the `--user` flag on the [install command](../install/mac-install.md#install-from-the-command-line). This results in `com.docker.vmnetd` being used for set up during installation and then disabled at runtime. In this case, the user is not prompted to grant root privileges on the first run of Docker Desktop. Specifically, the `--user` flag:
|
||||
- Uninstalls the previous `com.docker.vmnetd` if present
|
||||
- Sets up symlinks for the user
|
||||
- Ensures that `localhost` and `kubernetes.docker.internal` are present in `/etc/hosts`
|
||||
|
@ -39,6 +39,6 @@ The privileged helper is started by `launchd` and runs in the background unless
|
|||
|
||||
## Containers running as root within the Linux VM
|
||||
|
||||
The Docker daemon and containers run in a lightweight Linux VM managed by Docker. This means that although containers run by default as `root`, this does not grant `root` access to the Mac host machine. The Linux VM serves as a security boundary and limits what resources can be accessed from the host. Any directories from the host bind mounted into Docker containers still retain their original permissions.
|
||||
The Docker daemon and containers run in a lightweight Linux VM managed by Docker. This means that although containers run by default as `root`, this doesn't grant `root` access to the Mac host machine. The Linux VM serves as a security boundary and limits what resources can be accessed from the host. Any directories from the host bind mounted into Docker containers still retain their original permissions.
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Networking on Docker Desktop
|
||||
keywords: networking, docker desktop
|
||||
keywords: networking, docker desktop, proxy, vpn, Linux, Mac, Windows
|
||||
title: Explore networking features
|
||||
redirect_from:
|
||||
- /desktop/linux/networking/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Docker Desktop settings
|
||||
keywords: settings, preferences, proxy, file sharing, resources, kubernetes, Docker Desktop, Linux
|
||||
title: Change Docker Desktop settings on Linux
|
||||
title: Change on Linux
|
||||
---
|
||||
|
||||
This page provides information on how to configure and manage your Docker Desktop settings.
|
||||
|
@ -132,7 +132,7 @@ Click **Apply & Restart** to save your settings and restart Docker Desktop.
|
|||
|
||||
{% include beta.md %}
|
||||
|
||||
From the **Beta features** tab, you can sign up to the [Developer Preview program](https://www.docker.com/community/get-involved/developer-preview/).
|
||||
From the **Beta features** tab, you can sign up to the [Developer Preview program](https://www.docker.com/community/get-involved/developer-preview/){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
On the **Beta features** tab, you also have the option to allow version 4.13 feature flags, which are product features Docker is currently experimenting with. This is switched on by default.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
description: Docker Desktop settings
|
||||
keywords: settings, preferences, proxy, file sharing, resources, kubernetes, Docker Desktop, Mac
|
||||
title: Change Docker Desktop preferences on Mac
|
||||
title: Change preferences on Mac
|
||||
redirect_from:
|
||||
- /docker-for-mac/mutagen-caching/
|
||||
- /docker-for-mac/mutagen/
|
||||
|
|
|
@ -119,7 +119,7 @@ File share settings are:
|
|||
> better if they are stored in the Linux VM, using a [data volume](../../storage/volumes.md)
|
||||
> (named volume) or [data container](../../storage/volumes.md).
|
||||
> * Docker Desktop sets permissions to read/write/execute for users, groups and
|
||||
> others [0777 or a+rwx](https://chmodcommand.com/chmod-0777/).
|
||||
> others [0777 or a+rwx](https://chmodcommand.com/chmod-0777/){:target="_blank" rel="noopener" class="_"}.
|
||||
> This is not configurable. See [Permissions errors on data directories for shared volumes](../troubleshoot/topics.md).
|
||||
> * Windows presents a case-insensitive view of the filesystem to applications while Linux is case-sensitive.
|
||||
> On Linux, it is possible to create two separate files: `test` and `Test`,
|
||||
|
@ -205,7 +205,7 @@ Click **Apply & Restart** to save your settings and restart Docker Desktop.
|
|||
|
||||
{% include beta.md %}
|
||||
|
||||
From the **Beta features** tab, you can sign up to the [Developer Preview program](https://www.docker.com/community/get-involved/developer-preview/).
|
||||
From the **Beta features** tab, you can sign up to the [Developer Preview program](https://www.docker.com/community/get-involved/developer-preview/){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
On the **Beta features** tab, you also have the option to allow version 4.13 feature flags, which are product features Docker is currently experimenting with. This is switched on by default.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Known issues for Mac
|
||||
keywords: mac, troubleshooting, known issues
|
||||
keywords: mac, troubleshooting, known issues, Docker Desktop
|
||||
title: Known issues for Docker Desktop on Mac
|
||||
---
|
||||
<ul class="nav nav-tabs">
|
||||
|
@ -16,7 +16,7 @@ title: Known issues for Docker Desktop on Mac
|
|||
|
||||
This is an interaction between `vmnet.framework` (as used by `virtualization.framework`) and the VPN clients.
|
||||
|
||||
* Some container disk I/O is much slower than expected. See [docker/for-mac#5389](https://github.com/docker/for-mac/issues/5389). Disk flushes are particularly slow due to the need to guarantee data is written to stable storage on the host. We have also observed specific performance problems when using the `virtualization.framework` on Intel chips on MacOS Monterey.
|
||||
* Some container disk I/O is much slower than expected. See [docker/for-mac#5389](https://github.com/docker/for-mac/issues/5389){:target="_blank" rel="noopener" class="_"}. Disk flushes are particularly slow due to the need to guarantee data is written to stable storage on the host. We have also observed specific performance problems when using the `virtualization.framework` on Intel chips on MacOS Monterey.
|
||||
|
||||
This is an artifact of the new `virtualization.framework`.
|
||||
|
||||
|
@ -28,7 +28,7 @@ title: Known issues for Docker Desktop on Mac
|
|||
|
||||
* On Apple silicon in native `arm64` containers, older versions of `libssl` such as `debian:buster`, `ubuntu:20.04`, and `centos:8` will segfault when connected to some TLS servers, for example, `curl https://dl.yarnpkg.com`. The bug is fixed in newer versions of `libssl` in `debian:bullseye`, `ubuntu:21.04`, and `fedora:35`.
|
||||
|
||||
* The Mac Activity Monitor reports that Docker is using twice the amount of memory than it is actually using. This is due to a bug in MacOS. We have written [a detailed report](https://docs.google.com/document/d/17ZiQC1Tp9iH320K-uqVLyiJmk4DHJ3c4zgQetJiKYQM/edit?usp=sharing) on this.
|
||||
* The Mac Activity Monitor reports that Docker is using twice the amount of memory than it is actually using. This is due to a bug in MacOS. We have written [a detailed report](https://docs.google.com/document/d/17ZiQC1Tp9iH320K-uqVLyiJmk4DHJ3c4zgQetJiKYQM/edit?usp=sharing){:target="_blank" rel="noopener" class="_"} on this.
|
||||
|
||||
* You might encounter errors when using `docker-compose up` with Docker Desktop
|
||||
(`ValueError: Extra Data`). We've identified this is likely related to data
|
||||
|
@ -44,17 +44,17 @@ title: Known issues for Docker Desktop on Mac
|
|||
set of issues with Docker helper, registration, and versioning.
|
||||
|
||||
* Docker Desktop uses the `HyperKit` hypervisor
|
||||
(https://github.com/docker/hyperkit) in macOS 10.10 Yosemite and higher. If
|
||||
(https://github.com/docker/hyperkit){:target="_blank" rel="noopener" class="_"} in macOS 10.10 Yosemite and higher. If
|
||||
you are developing with tools that have conflicts with `HyperKit`, such as
|
||||
[Intel Hardware Accelerated Execution Manager
|
||||
(HAXM)](https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager/),
|
||||
(HAXM)](https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager/){:target="_blank" rel="noopener" class="_"},
|
||||
the current workaround is not to run them at the same time. You can pause
|
||||
`HyperKit` by quitting Docker Desktop temporarily while you work with HAXM.
|
||||
This allows you to continue work with the other tools and prevent `HyperKit`
|
||||
from interfering.
|
||||
|
||||
* If you are working with applications like [Apache
|
||||
Maven](https://maven.apache.org/) that expect settings for `DOCKER_HOST` and
|
||||
Maven](https://maven.apache.org/){:target="_blank" rel="noopener" class="_"} that expect settings for `DOCKER_HOST` and
|
||||
`DOCKER_CERT_PATH` environment variables, specify these to connect to Docker
|
||||
instances through Unix sockets. For example:
|
||||
|
||||
|
@ -74,7 +74,7 @@ title: Known issues for Docker Desktop on Mac
|
|||
- Symfony
|
||||
- Magento
|
||||
- Zend Framework
|
||||
- PHP applications that use [Composer](https://getcomposer.org) to install
|
||||
- PHP applications that use [Composer](https://getcomposer.org){:target="_blank" rel="noopener" class="_"} to install
|
||||
dependencies in a `vendor` folder
|
||||
|
||||
As a workaround for this behavior, you can put vendor or third-party library
|
||||
|
@ -96,8 +96,8 @@ title: Known issues for Docker Desktop on Mac
|
|||
|
||||
However, attempts to run Intel-based containers on Apple silicon machines under emulation can crash as qemu sometimes fails to run the container. In addition, filesystem change notification APIs (`inotify`) do not work under qemu emulation. Even when the containers do run correctly under emulation, they will be slower and use more memory than the native equivalent.
|
||||
|
||||
In summary, running Intel-based containers on Arm-based machines should be regarded as "best effort" only. We recommend running arm64 containers on Apple silicon machines whenever possible, and encouraging container authors to produce arm64, or multi-arch, versions of their containers. We expect this issue to become less common over time, as more and more images are rebuilt [supporting multiple architectures](https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/).
|
||||
- `ping` from inside a container to the Internet does not work as expected. To test the network, we recommend using `curl` or `wget`. See [docker/for-mac#5322](https://github.com/docker/for-mac/issues/5322#issuecomment-809392861).
|
||||
In summary, running Intel-based containers on Arm-based machines should be regarded as "best effort" only. We recommend running arm64 containers on Apple silicon machines whenever possible, and encouraging container authors to produce arm64, or multi-arch, versions of their containers. We expect this issue to become less common over time, as more and more images are rebuilt [supporting multiple architectures](https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/){:target="_blank" rel="noopener" class="_"}.
|
||||
- `ping` from inside a container to the Internet does not work as expected. To test the network, we recommend using `curl` or `wget`. See [docker/for-mac#5322](https://github.com/docker/for-mac/issues/5322#issuecomment-809392861){:target="_blank" rel="noopener" class="_"}.
|
||||
- Users may occasionally experience data drop when a TCP stream is half-closed.
|
||||
<hr>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Troubleshooting, logs, and known issues
|
||||
keywords: linux, mac, windows, troubleshooting, logs, issues
|
||||
keywords: Linux, Mac, Windows, troubleshooting, logs, issues, Docker Desktop
|
||||
title: Overview
|
||||
redirect_from:
|
||||
- /desktop/linux/troubleshoot/
|
||||
|
@ -14,7 +14,7 @@ redirect_from:
|
|||
---
|
||||
|
||||
{% include upgrade-cta.html
|
||||
body="Did you know that Docker Desktop offers support for developers on a paid Docker subscription (Pro, Team, or Business)? Upgrade now to benefit from Docker Support. Click [here](../../support/index.md) to learn more."
|
||||
body="Docker Desktop offers support for developers on a paid Docker subscription (Pro, Team, or Business). Upgrade now to benefit from Docker Support. For more information, see [Support](../../support/index.md)."
|
||||
target-url="https://www.docker.com/pricing?utm_source=docker&utm_medium=webreferral&utm_campaign=docs_driven_upgrade_desktop_support"
|
||||
%}
|
||||
|
||||
|
@ -183,9 +183,9 @@ $ <tool location> check
|
|||
The tool runs a suite of checks and displays **PASS** or **FAIL** next to each check. If there are any failures, it highlights the most relevant at the end of the report.
|
||||
|
||||
You can then create and issue on GitHub:
|
||||
- [For Linux](https://github.com/docker/desktop-linux/issues)
|
||||
- [For Mac](https://github.com/docker/for-mac/issues)
|
||||
- [For Windows](https://github.com/docker/for-win/issues)
|
||||
- [For Linux](https://github.com/docker/desktop-linux/issues){:target="_blank" rel="noopener" class="_"}
|
||||
- [For Mac](https://github.com/docker/for-mac/issues){:target="_blank" rel="noopener" class="_"}
|
||||
- [For Windows](https://github.com/docker/for-win/issues){:target="_blank" rel="noopener" class="_"}
|
||||
|
||||
## Check the logs
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Troubleshooting topics
|
||||
keywords: linux, mac, windows, troubleshooting, topics
|
||||
keywords: Linux, Mac, Windows, troubleshooting, topics, Docker Desktop
|
||||
title: Troubleshoot topics
|
||||
toc_max: 3
|
||||
---
|
||||
|
@ -43,7 +43,7 @@ Volume mounting requires shared drives for projects that live outside of the
|
|||
|
||||
Docker Desktop requires a processor (CPU) that supports virtualization and, more
|
||||
specifically, the [Apple Hypervisor
|
||||
framework](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/).
|
||||
framework](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/){:target="_blank" rel="noopener" class="_"}.
|
||||
Docker Desktop is only compatible with Mac systems that have a CPU that supports the Hypervisor framework. Most Macs built in 2010 and later support it,as described in the Apple Hypervisor Framework documentation about supported hardware:
|
||||
|
||||
*Generally, machines with an Intel VT-x feature set that includes Extended Page
|
||||
|
@ -61,7 +61,7 @@ If your Mac supports the Hypervisor Framework, the command prints
|
|||
If not, the command prints `kern.hv_support: 0`.
|
||||
|
||||
See also, [Hypervisor Framework
|
||||
Reference](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/)
|
||||
Reference](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/){:target="_blank" rel="noopener" class="_"}
|
||||
in the Apple documentation, and Docker Desktop [Mac system requirements](../install/mac-install.md#system-requirements).
|
||||
|
||||
## Topics for Windows
|
||||
|
@ -71,7 +71,7 @@ in the Apple documentation, and Docker Desktop [Mac system requirements](../inst
|
|||
#### Permissions errors on data directories for shared volumes
|
||||
|
||||
When sharing files from Windows, Docker Desktop sets permissions on [shared volumes](../settings/windows.md#file-sharing)
|
||||
to a default value of [0777](https://chmodcommand.com/chmod-0777/)
|
||||
to a default value of [0777](https://chmodcommand.com/chmod-0777/){:target="_blank" rel="noopener" class="_"}
|
||||
(`read`, `write`, `execute` permissions for `user` and for `group`).
|
||||
|
||||
The default permissions on shared volumes are not configurable. If you are
|
||||
|
@ -114,7 +114,7 @@ are used, `docker run` fails with syntax errors.
|
|||
|
||||
For an example of this issue and the resolution, see this issue on GitHub:
|
||||
[Docker RUN fails to execute shell
|
||||
script](https://github.com/moby/moby/issues/24388).
|
||||
script](https://github.com/moby/moby/issues/24388){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
#### Path conversion on Windows
|
||||
|
||||
|
@ -232,9 +232,9 @@ Docker Desktop requires Hyper-V as well as the Hyper-V Module for Windows
|
|||
Powershell to be installed and enabled. The Docker Desktop installer enables
|
||||
it for you.
|
||||
|
||||
Docker Desktop also needs two CPU hardware features to use Hyper-V: Virtualization and Second Level Address Translation (SLAT), which is also called Rapid Virtualization Indexing (RVI). On some systems, Virtualization must be enabled in the BIOS. The steps required are vendor-specific, but typically the BIOS option is called `Virtualization Technology (VTx)` or something similar. Run the command `systeminfo` to check all required Hyper-V features. See [Pre-requisites for Hyper-V on Windows 10](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-requirements) for more details.
|
||||
Docker Desktop also needs two CPU hardware features to use Hyper-V: Virtualization and Second Level Address Translation (SLAT), which is also called Rapid Virtualization Indexing (RVI). On some systems, Virtualization must be enabled in the BIOS. The steps required are vendor-specific, but typically the BIOS option is called `Virtualization Technology (VTx)` or something similar. Run the command `systeminfo` to check all required Hyper-V features. See [Pre-requisites for Hyper-V on Windows 10](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-requirements){:target="_blank" rel="noopener" class="_"} for more details.
|
||||
|
||||
To install Hyper-V manually, see [Install Hyper-V on Windows 10](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install). A reboot is *required* after installation. If you install Hyper-V without rebooting, Docker Desktop does not work correctly.
|
||||
To install Hyper-V manually, see [Install Hyper-V on Windows 10](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install){:target="_blank" rel="noopener" class="_"}. A reboot is *required* after installation. If you install Hyper-V without rebooting, Docker Desktop does not work correctly.
|
||||
|
||||
From the start menu, type **Turn Windows features on or off** and press enter.
|
||||
In the subsequent screen, verify that Hyper-V is enabled.
|
||||
|
@ -248,7 +248,7 @@ Performance tab on the Task Manager:
|
|||
|
||||
If you manually uninstall Hyper-V, WSL 2 or disable virtualization,
|
||||
Docker Desktop cannot start. See [Unable to run Docker for Windows on
|
||||
Windows 10 Enterprise](https://github.com/docker/for-win/issues/74).
|
||||
Windows 10 Enterprise](https://github.com/docker/for-win/issues/74){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
#### Hypervisor enabled at Windows startup
|
||||
|
||||
|
@ -268,8 +268,8 @@ You can also refer to the [Microsoft TechNet article](https://social.technet.mic
|
|||
Docker Desktop is not supported on Windows Server. If you have questions about how to run Windows containers on Windows 10, see
|
||||
[Switch between Windows and Linux containers](../faqs/windowsfaqs.md#how-do-i-switch-between-windows-and-linux-containers).
|
||||
|
||||
A full tutorial is available in [docker/labs](https://github.com/docker/labs) on
|
||||
[Getting Started with Windows Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md).
|
||||
A full tutorial is available in [docker/labs](https://github.com/docker/labs){:target="_blank" rel="noopener" class="_"} on
|
||||
[Getting Started with Windows Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
You can install a native Windows binary which allows you to develop and run
|
||||
Windows containers without Docker Desktop. However, if you install Docker this way, you cannot develop or run Linux containers. If you try to run a Linux container on the native Docker daemon, an error occurs:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Common workarounds
|
||||
keywords: linux, mac, windows, troubleshooting, workarounds
|
||||
keywords: linux, mac, windows, troubleshooting, workarounds, Docker Desktop
|
||||
title: Workarounds for common problems
|
||||
---
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: How to uninstall Docker Desktop
|
||||
keywords: windows, install, download, run, docker, local
|
||||
keywords: Windows, unintall, Mac, Linux, Docker Desktop
|
||||
title: Uninstall Docker Desktop
|
||||
---
|
||||
|
||||
|
|
|
@ -18,12 +18,12 @@ From the **Containers** view you can perform the following actions on one or mor
|
|||
- Delete
|
||||
|
||||
When you hover over individual containers, you can also:
|
||||
- Click **Open in Visual Studio Code** to open the application in VS Code.
|
||||
- Select **Open in Visual Studio Code** to open the application in VS Code.
|
||||
- Open the port exposed by the container in a browser.
|
||||
|
||||
### Integrated terminal
|
||||
|
||||
You also have the option to open an integrated terminal, on a running container, directly within Docker Desktop. This allows you to quickly execute commands within your container so you can understand its current state or debug when something goes wrong.
|
||||
You also have the option to open an integrated terminal, on a running container, directly within Docker Desktop. This allows you to quickly run commands within your container so you can understand its current state or debug when something goes wrong.
|
||||
|
||||
Using the integrated terminal is the same as running `docker exec -it <container-id> /bin/sh`, or `docker exec -it <container-id> cmd.exe` if you are using Windows containers, in your external terminal. It also:
|
||||
|
||||
|
|
|
@ -33,12 +33,12 @@ You can sort images by:
|
|||
|
||||
## Run an image as a container
|
||||
|
||||
From the **Images view**, hover over an image and click **Run**.
|
||||
From the **Images view**, hover over an image and select **Run**.
|
||||
|
||||
When prompted you can either:
|
||||
|
||||
- Click the **Optional settings** drop-down to specify a name, port, volumes, environment variables and click **Run**
|
||||
- Click **Run** without specifying any optional settings.
|
||||
- Select the **Optional settings** drop-down to specify a name, port, volumes, environment variables and select **Run**
|
||||
- Select **Run** without specifying any optional settings.
|
||||
|
||||
## Inspect an image
|
||||
|
||||
|
@ -53,7 +53,7 @@ To inspect an image, hover over an image, select the **More options** button and
|
|||
|
||||
## Pull the latest image from Docker Hub
|
||||
|
||||
Select the image from the list, click the **More options** button and click **Pull**.
|
||||
Select the image from the list, select the **More options** button and select **Pull**.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
|
@ -61,7 +61,7 @@ Select the image from the list, click the **More options** button and click **Pu
|
|||
|
||||
## Push an image to Docker Hub
|
||||
|
||||
Select the image from the list, click the **More options** button and click **Push to Hub**.
|
||||
Select the image from the list, select the **More options** button and select **Push to Hub**.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
|
@ -77,7 +77,7 @@ You can remove individual images or use the **Clean up** option to delete unused
|
|||
|
||||
An unused image is an image which is not used by any running or stopped containers. An image becomes dangling when you build a new version of the image with the same tag.
|
||||
|
||||
To remove individual images, select the image from the list, click the **More options** button and click **Remove**
|
||||
To remove individual images, select the image from the list, select the **More options** button and select **Remove**
|
||||
|
||||
To remove an unused or a dangling image:
|
||||
|
||||
|
@ -98,11 +98,11 @@ The **Pull** option allows you to pull the latest version of the image from Dock
|
|||
|
||||
To interact with remote repositories:
|
||||
|
||||
1. Click the **Remote repositories** tab.
|
||||
1. select the **Remote repositories** tab.
|
||||
2. Select an organization from the drop-down list. This displays a list of repositories in your organization.
|
||||
3. Hover over an image from the list and then select **Pull** to pull the latest image from the remote repository.
|
||||
|
||||
To view a detailed information about the image in Docker Hub, select the image and then click **View in Hub**.
|
||||
To view a detailed information about the image in Docker Hub, select the image and then select **View in Hub**.
|
||||
|
||||
The **View in Hub** option opens the Docker Hub page and displays detailed information about the image, such as the OS architecture, size of the image, the date when the image was pushed, and a list of the image layers.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Docker Dashboard
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, images, user manual
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, images, user manual, whale menu
|
||||
title: Overview
|
||||
redirect_from:
|
||||
- /desktop/dashboard/
|
||||
|
@ -21,15 +21,17 @@ In addition, the Docker Dashboard allows you to:
|
|||
- Easily navigate to the **Preferences** (**Settings** in Windows) menu to configure Docker Desktop preferences. Select the **Preferences** or **Settings** icon in the Dashboard header.
|
||||
- Access the **Troubleshoot** menu to debug and perform restart operations. Select the **Troubleshoot** icon in the Dashboard header.
|
||||
|
||||
## The Whale menu
|
||||
## The Docker menu
|
||||
|
||||
Docker Desktop also provides an easy-access tray icon that appears in the taskbar and is reffered to as the Whale menu {: .inline}.
|
||||
Docker Desktop also provides an easy-access tray icon that appears in the taskbar and is referred to as the Docker menu {: .inline}.
|
||||
|
||||
To display the Whale menu, right-click on the {: .inline} icon. It displays the following options:
|
||||
To display the Docker menu, right-click on the {: .inline} icon. It displays the following options:
|
||||
|
||||
- **Dashboard**. This takes you to the Docker Dashboard.
|
||||
- **Sign in/Create Dock Id**
|
||||
- **Settings**. Takes you to the Settings, or Preferences is you use a macOS.
|
||||
- **Check for updates**
|
||||
- **Troubleshoot**
|
||||
- **Switch to Windows containers**
|
||||
- **About Docker Desktop**. Contains information on the versions you are running, and links to the Subscription Service Agreement for example.
|
||||
- **Documentation**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Pause Docker Dashboard
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, images, user manual
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, pause, user manual
|
||||
title: Pause Docker Desktop
|
||||
---
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
description: Docker Dashboard
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, images, user manual
|
||||
keywords: Docker Dashboard, manage, containers, gui, dashboard, volumes, user manual
|
||||
title: Explore Volumes
|
||||
---
|
||||
|
||||
|
@ -27,7 +27,7 @@ To explore the details of a specific volume, select a volume from the list. This
|
|||
|
||||
The **In Use** tab displays the name of the container using the volume, the image name, the port number used by the container, and the target. A target is a path inside a container that gives access to the files in the volume.
|
||||
|
||||
The **Data** tab displays the files and folders in the volume and the file size. To save a file or a folder, hover over the file or folder and click on the more options menu. Select **Save As** and then specify a location to download the file.
|
||||
The **Data** tab displays the files and folders in the volume and the file size. To save a file or a folder, hover over the file or folder and select on the more options menu. Select **Save As** and then specify a location to download the file.
|
||||
|
||||
To delete a file or a folder from the volume, select **Remove** from the **More options** menu.
|
||||
|
||||
|
@ -35,4 +35,4 @@ To delete a file or a folder from the volume, select **Remove** from the **More
|
|||
|
||||
Removing a volume deletes the volume and all its data.
|
||||
|
||||
To remove a volume, hover over the volume and then click the **Delete** icon. Alternatively, select the volume from the list and then click the **Delete** button.
|
||||
To remove a volume, hover over the volume and then select the **Delete** icon. Alternatively, select the volume from the list and then select the **Delete** button.
|
|
@ -26,15 +26,15 @@ You must enable nested virtualization before you install Docker Desktop on a vir
|
|||
|
||||
### Enable nested virtualization on VMware ESXi
|
||||
|
||||
Nested virtualization of other hypervisors like Hyper-V inside a vSphere VM [is not a supported scenario](https://kb.vmware.com/s/article/2009916). However, running Hyper-V VM in a VMware ESXi VM is technically possible and, depending on the version, ESXi includes hardware-assisted virtualization as a supported feature. For internal testing, we used a VM that had 1 CPU with 4 cores and 12GB of memory.
|
||||
Nested virtualization of other hypervisors like Hyper-V inside a vSphere VM [is not a supported scenario](https://kb.vmware.com/s/article/2009916){:target="_blank" rel="noopener" class="_"}. However, running Hyper-V VM in a VMware ESXi VM is technically possible and, depending on the version, ESXi includes hardware-assisted virtualization as a supported feature. For internal testing, we used a VM that had 1 CPU with 4 cores and 12GB of memory.
|
||||
|
||||
For steps on how to expose hardware-assisted virtualization to the guest OS, [see VMware's documentation](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-2A98801C-68E8-47AF-99ED-00C63E4857F6.html).
|
||||
For steps on how to expose hardware-assisted virtualization to the guest OS, [see VMware's documentation](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-2A98801C-68E8-47AF-99ED-00C63E4857F6.html){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
You may also need to [configure some network settings](https://www.vembu.com/blog/nested-hyper-v-vms-on-a-vmware-esxi-server).
|
||||
You may also need to [configure some network settings](https://www.vembu.com/blog/nested-hyper-v-vms-on-a-vmware-esxi-server){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
|
||||
### Enable nested virtualization on Microsoft Hyper-V
|
||||
|
||||
Nested virtualization is supported by Microsoft for running Hyper-V inside an Azure VM.
|
||||
|
||||
For Azure virtual machines, [check that the VM size chosen supports nested virtualization](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes). Microsoft provides [a helpful list on Azure VM sizes](https://docs.microsoft.com/en-us/azure/virtual-machines/acu) and highlights the sizes that currently support nested virtualization. For internal testing, we used D4s_v5 machines. We recommend this specification or above for optimal performance of Docker Desktop.
|
||||
For Azure virtual machines, [check that the VM size chosen supports nested virtualization](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes){:target="_blank" rel="noopener" class="_"}. Microsoft provides [a helpful list on Azure VM sizes](https://docs.microsoft.com/en-us/azure/virtual-machines/acu){:target="_blank" rel="noopener" class="_"} and highlights the sizes that currently support nested virtualization. For internal testing, we used D4s_v5 machines. We recommend this specification or above for optimal performance of Docker Desktop.
|
||||
|
|
|
@ -5,9 +5,9 @@ keywords: Docker, WebAssembly, wasm, containerd, engine
|
|||
toc_max: 3
|
||||
---
|
||||
|
||||
Wasm (short for WebAssembly) is a faster, lighter alternative to the Linux & Windows containers you’re using in Docker today (with [some tradeoffs](https://www.docker.com/blog/docker-wasm-technical-preview/)).
|
||||
Wasm (short for WebAssembly) is a faster, lighter alternative to the Linux & Windows containers you’re using in Docker today (with [some tradeoffs](https://www.docker.com/blog/docker-wasm-technical-preview/){:target="_blank" rel="noopener" class="_"}).
|
||||
|
||||
This page provides information about the new ability to run Wasm applications alongside your Linux containers in Docker. To learn more about the launch and how the preview works, read [the launch blog post here](https://www.docker.com/blog/docker-wasm-technical-preview/).
|
||||
This page provides information about the new ability to run Wasm applications alongside your Linux containers in Docker. To learn more about the launch and how the preview works, read [the launch blog post here](https://www.docker.com/blog/docker-wasm-technical-preview/){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
> **Beta**
|
||||
>
|
||||
|
@ -40,7 +40,7 @@ Download the technical preview build of Docker Desktop:
|
|||
|
||||
### Running a Wasm application with `docker run`
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker run -dp 8080:8080 \
|
||||
--name=wasm-example \
|
||||
--runtime=io.containerd.wasmedge.v1 \
|
||||
|
@ -69,8 +69,8 @@ services:
|
|||
|
||||
Start the application using the normal Docker Compose commands:
|
||||
|
||||
```
|
||||
docker compose up
|
||||
```console
|
||||
$ docker compose up
|
||||
```
|
||||
|
||||
### Running a multi-service application with Wasm
|
||||
|
@ -81,7 +81,7 @@ In the following example, the Wasm application leverages a MariaDB database runn
|
|||
|
||||
1. Clone the repository.
|
||||
|
||||
```
|
||||
```console
|
||||
$ git clone https://github.com/second-state/microservice-rust-mysql.git
|
||||
Cloning into 'microservice-rust-mysql'...
|
||||
remote: Enumerating objects: 75, done.
|
||||
|
@ -94,7 +94,7 @@ In the following example, the Wasm application leverages a MariaDB database runn
|
|||
|
||||
2. Navigate into the cloned project and start the project using Docker Compose.
|
||||
|
||||
```
|
||||
```console
|
||||
$ cd microservice-rust-mysql
|
||||
$ docker compose up
|
||||
[+] Running 0/1
|
||||
|
@ -107,7 +107,7 @@ In the following example, the Wasm application leverages a MariaDB database runn
|
|||
|
||||
In another terminal, we can see the Wasm image that was created.
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker images
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
server latest 2c798ddecfa1 2 minutes ago 3MB
|
||||
|
@ -115,7 +115,7 @@ In the following example, the Wasm application leverages a MariaDB database runn
|
|||
|
||||
Inspecting the image shows the image has a `wasi/wasm32` platform. A combination of Os and Architecture.
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker image inspect server | grep -A 3 "Architecture"
|
||||
"Architecture": "wasm32",
|
||||
"Os": "wasi",
|
||||
|
@ -134,7 +134,7 @@ In the following example, the Wasm application leverages a MariaDB database runn
|
|||
|
||||
2. In a separate stage in your `Dockerfile`, extract the module and set it as the `ENTRYPOINT`.
|
||||
|
||||
```
|
||||
```dockerfile
|
||||
FROM scratch
|
||||
COPY --from=build /build/hello_world.wasm /hello_world.wasm
|
||||
ENTRYPOINT [ "hello_world.wasm" ]
|
||||
|
@ -142,7 +142,7 @@ In the following example, the Wasm application leverages a MariaDB database runn
|
|||
|
||||
3. Build and push the image specifying the `wasi/wasm32` architecture. Buildx makes this easy to do in a single command.
|
||||
|
||||
```
|
||||
```console
|
||||
$ docker buildx build --platform wasi/wasm32 -t username/hello-world .
|
||||
...
|
||||
=> exporting to image 0.0s
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
description: Docker Desktop WSL 2 backend
|
||||
keywords: WSL, WSL 2 Tech Preview, Windows Subsystem for Linux, WSL 2 backend Docker
|
||||
keywords: WSL, WSL 2, Windows Subsystem for Linux, WSL 2 backend Docker, Docker Desktop
|
||||
redirect_from:
|
||||
- /docker-for-windows/wsl/
|
||||
- /docker-for-windows/wsl-tech-preview/
|
||||
title: Docker Desktop WSL 2 backend
|
||||
title: Docker Desktop WSL 2 backend on Windows
|
||||
---
|
||||
|
||||
Windows Subsystem for Linux (WSL) 2 introduces a significant architectural change as it is a full Linux kernel built by Microsoft, allowing Linux distributions to run without having to manage Virtual Machines. With Docker Desktop running on WSL 2, users can leverage Linux workspaces and avoid having to maintain both Linux and Windows build scripts. In addition, WSL 2 provides improvements to file system sharing, boot time, and allows access to some cool new features for Docker Desktop users.
|
||||
|
@ -97,9 +97,9 @@ Docker Desktop does not require any particular Linux distros to be installed. Th
|
|||
|
||||
## Develop with Docker and WSL 2
|
||||
|
||||
The following section describes how to start developing your applications using Docker and WSL 2. We recommend that you have your code in your default Linux distribution for the best development experience using Docker and WSL 2. After you have enabled WSL 2 on Docker Desktop, you can start working with your code inside the Linux distro and ideally with your IDE still in Windows. This workflow can be pretty straightforward if you are using [VSCode](https://code.visualstudio.com/download).
|
||||
The following section describes how to start developing your applications using Docker and WSL 2. We recommend that you have your code in your default Linux distribution for the best development experience using Docker and WSL 2. After you have enabled WSL 2 on Docker Desktop, you can start working with your code inside the Linux distro and ideally with your IDE still in Windows. This workflow can be pretty straightforward if you are using [VSCode](https://code.visualstudio.com/download){:target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
1. Open VSCode and install the [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl) extension. This extension allows you to work with a remote server in the Linux distro and your IDE client still on Windows.
|
||||
1. Open VSCode and install the [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl){:target="_blank" rel="noopener" class="_"} extension. This extension allows you to work with a remote server in the Linux distro and your IDE client still on Windows.
|
||||
2. Now, you can start working in VSCode remotely. To do this, open your terminal and type:
|
||||
|
||||
`wsl`
|
||||
|
|
Loading…
Reference in New Issue