diff --git a/_data/toc.yaml b/_data/toc.yaml index ea847cd21ad..1d49412636a 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -1173,6 +1173,8 @@ manuals: title: Getting started - path: /docker-for-mac/install/ title: Install Docker Desktop for Mac + - path: /docker-for-mac/dashboard/ + title: Dashboard - path: /docker-for-mac/kubernetes/ title: Deploy on Kubernetes - path: /docker-for-mac/docker-toolbox/ @@ -1203,6 +1205,8 @@ manuals: title: Getting started - path: /docker-for-windows/install/ title: Install Docker Desktop for Windows + - path: /docker-for-windows/dashboard/ + title: Dashboard - path: /docker-for-windows/kubernetes/ title: Deploy on Kubernetes - path: /docker-for-windows/networking/ diff --git a/docker-for-mac/dashboard.md b/docker-for-mac/dashboard.md new file mode 100644 index 00000000000..0d1ef41f490 --- /dev/null +++ b/docker-for-mac/dashboard.md @@ -0,0 +1,131 @@ +--- +description: Docker Desktop Dashboard +keywords: Docker Desktop Dashboard, container view +title: Docker Desktop Dashboard +--- + +The Docker Desktop Dashboard provides a simple interface that enables you to interact with containers and applications, and manage the lifecycle of your applications directly from your machine. The Dashboard UI shows all running, stopped, and started containers with their status. It provides an intuitive interface to perform common actions to inspect, interact with, and manage your Docker objects including containers and Docker Compose-based applications. + +The Docker Desktop Dashboard offers the following benefits: + +- A GUI to abstract core information from the CLI +- Access to container logs directly in the UI to search and explore container behavior +- Access to combined Compose logs from the UI to understand Compose applications +- Quick visibility into ports being used by containers +- Monitor container resource utilization + +In addition, the Dashboard UI allows you to: + +- Navigate to the [Settings](/docker-for-mac/index/#preferences) menu to configure Docker Desktop preferences +- Access the [Troubleshoot](troubleshoot.md) menu to debug and perform restart operations +- Sign into [Docker Hub](/docker-for-mac/index/#docker-hub) using your Docker ID + +To access the Docker Desktop Dashboard, from the Docker menu, select **Dashboard**. The Dashboard provides a runtime view of all your containers and applications. + +![Docker Desktop Dashboard](images/mac-dashboard.png) + +## Explore running containers and applications + +From the Docker menu, select **Dashboard**. This lists all your running containers and applications. Note that you must have running containers and applications to see them listed on the Docker Desktop Dashboard. + +The following sections guide you through the process of creating a sample Redis container and a sample application to demonstrate the core functionalities in Docker Desktop Dashboard. + +### Start a Redis container + +To start a Redis container, open your preferred CLI and run the following command: + +`docker run -dt redis` + +This creates a new Redis container. From the Docker menu, select **Dashboard** to see the new Redis container. + +![Redis container](images/mac-redis-container.png){:width="700px"} + +### Start a sample application + +Now, let us start a sample application. You can download the [Example voting app](https://github.com/dockersamples/example-voting-app) from the Docker samples page. The example voting app is a distributed application that runs across multiple Docker containers. + +![Example voting app architecture diagram](../docker-for-windows/images/example-app-architecture.png){:width="600px"} + +The example voting app contains: + +- A front-end web app in [Python](/vote) or [ASP.NET Core](/vote/dotnet) which lets you vote between two options +- A [Redis](https://hub.docker.com/_/redis/) or [NATS](https://hub.docker.com/_/nats/) queue which collects new votes +- A [.NET Core](/worker/src/Worker), [Java](/worker/src/main) or [.NET Core 2.1](/worker/dotnet) worker which consumes votes and stores them +- A [Postgres](https://hub.docker.com/_/postgres/) or [TiDB](https://hub.docker.com/r/dockersamples/tidb/tags/) database backed by a Docker volume +- A [Node.js](/result) or [ASP.NET Core SignalR](/result/dotnet) web app which shows the results of the voting in real time + +To start the application, navigate to the directory containing the example voting application in the CLI and run `docker-compose up --build`. + +``` +$ docker-compose up --build +Creating network "example-voting-app-master_front-tier" with the default driver +Creating network "example-voting-app-master_back-tier" with the default driver +Creating volume "example-voting-app-master_db-data" with default driver +Building vote +Step 1/7 : FROM python:2.7-alpine +2.7-alpine: Pulling from library/python +Digest: sha256:d2cc8451e799d4a75819661329ea6e0d3e13b3dadd56420e25fcb8601ff6ba49 +Status: Downloaded newer image for python:2.7-alpine + ---> 1bf48bb21060 +Step 2/7 : WORKDIR /app + ---> Running in 7a6a0c9d8b61 +Removing intermediate container 7a6a0c9d8b61 + ---> b1242f3c6d0c +Step 3/7 : ADD requirements.txt /app/requirements.txt + ---> 0f5d69b65243 +Step 4/7 : RUN pip install -r requirements.txt + ---> Running in 92788dc9d682 + +... +Successfully built 69da1319c6ce +Successfully tagged example-voting-app-master_worker:latest +Creating example-voting-app-master_vote_1 ... done +Creating example-voting-app-master_result_1 ... done +Creating db ... done +Creating redis ... done +Creating example-voting-app-master_worker_1 ... done +Attaching to db, redis, example-voting-app-master_result_1, example-voting-app-master_vote_1, example-voting-app-master_worker_1 +... +``` + +When the application successfully starts, from the Docker menu, select **Dashboard** to see the Example voting application. Expand the application to see the containers running inside the application. + +![Spring Boot application view](images/app-dashboard-view.png){:width="700px"} + +Now that you can see the list of running containers and applications on the Dashboard, let us explore some of the actions you can perform: + +- Click **Port** to open the port exposed by the container in a browser. +- Click **CLI** to open a terminal and run commands on the container. +- Click **Stop**, **Start**, **Restart**, or **Delete** to perform lifecycle operations on the container. + +Use the **Search** option to search for a specific object. You can also sort your containers and applications using various options. Click the **Sort by** drop-down to see a list of available options. + +## Interact with containers and applications + +From the Docker Desktop Dashboard, select the example voting application we started earlier. + +The **application view** lists all the containers running on the application and contains a detailed logs view. It also allows you to start, stop, or delete the application. + +Hover over the containers to see some of the core actions you can perform. Use the **Search** option at the bottom to search the application logs for specific events, or select the **Copy** icon to copy the logs to your clipboard. + +![Application view](images/mac-application-view.png){:width="700px"} + +Click on a specific container for detailed information about the container. The **container view** displays **Logs**, **Inspect**, and **Stats** tabs and provides quick action buttons to perform various actions. + +![Explore the app](images/mac-container-view.png){:width="700px"} + +- Select **Logs** to see logs from the container. You can also search the logs for specific events and copy the logs to your clipboard. + +- Select **Inspect** to view low-level information about the container. You can see the local path, version number of the image, SHA-256, port mapping, and other details. + +- Select **Stats** to view information about the container resource utilization. You can see the amount of CPU, disk I/O, memory, and network I/O used by the container. + +You can also use the quick action buttons on the top bar to perform common actions such as opening a CLI to run commands in a container, and perform lifecycle operations such as stop, start, restart, or delete your container. + +Click **Port** to open the port exposed by the container in a browser. + +![Spring app browser view](images/mac-browser-view.png){:width="700px"} + +## Feedback + +We would like to hear from you about the new Dashboard UI. Let us know your feedback by creating an issue in the [docker/for-mac](https://github.com/docker/for-mac/issues) GitHub repository. diff --git a/docker-for-mac/images/app-dashboard-view.png b/docker-for-mac/images/app-dashboard-view.png new file mode 100644 index 00000000000..02ea10877e4 Binary files /dev/null and b/docker-for-mac/images/app-dashboard-view.png differ diff --git a/docker-for-mac/images/kubernetes/kube-context.png b/docker-for-mac/images/kubernetes/kube-context.png index 11d57c900af..1d0c35e801e 100644 Binary files a/docker-for-mac/images/kubernetes/kube-context.png and b/docker-for-mac/images/kubernetes/kube-context.png differ diff --git a/docker-for-mac/images/kubernetes/kube.png b/docker-for-mac/images/kubernetes/kube.png index 3b2feac1798..6c435b00185 100644 Binary files a/docker-for-mac/images/kubernetes/kube.png and b/docker-for-mac/images/kubernetes/kube.png differ diff --git a/docker-for-mac/images/mac-application-view.png b/docker-for-mac/images/mac-application-view.png new file mode 100644 index 00000000000..527104c380e Binary files /dev/null and b/docker-for-mac/images/mac-application-view.png differ diff --git a/docker-for-mac/images/mac-browser-view.png b/docker-for-mac/images/mac-browser-view.png new file mode 100644 index 00000000000..7d1fe671963 Binary files /dev/null and b/docker-for-mac/images/mac-browser-view.png differ diff --git a/docker-for-mac/images/mac-container-view.png b/docker-for-mac/images/mac-container-view.png new file mode 100644 index 00000000000..59b2ff67239 Binary files /dev/null and b/docker-for-mac/images/mac-container-view.png differ diff --git a/docker-for-mac/images/mac-dashboard.png b/docker-for-mac/images/mac-dashboard.png new file mode 100644 index 00000000000..8a3e4db7519 Binary files /dev/null and b/docker-for-mac/images/mac-dashboard.png differ diff --git a/docker-for-mac/images/mac-redis-container.png b/docker-for-mac/images/mac-redis-container.png new file mode 100644 index 00000000000..5d9960e5c91 Binary files /dev/null and b/docker-for-mac/images/mac-redis-container.png differ diff --git a/docker-for-mac/images/menu/prefs-advanced.png b/docker-for-mac/images/menu/prefs-advanced.png index 54d29974ef1..41aa052fd5c 100644 Binary files a/docker-for-mac/images/menu/prefs-advanced.png and b/docker-for-mac/images/menu/prefs-advanced.png differ diff --git a/docker-for-mac/images/menu/prefs-general.png b/docker-for-mac/images/menu/prefs-general.png index d44e1dbbe1b..458b493e62b 100644 Binary files a/docker-for-mac/images/menu/prefs-general.png and b/docker-for-mac/images/menu/prefs-general.png differ diff --git a/docker-for-mac/images/menu/prefs.png b/docker-for-mac/images/menu/prefs.png index 3c14626e9d1..8c807ab221c 100644 Binary files a/docker-for-mac/images/menu/prefs.png and b/docker-for-mac/images/menu/prefs.png differ diff --git a/docker-for-mac/images/menu/troubleshoot.png b/docker-for-mac/images/menu/troubleshoot.png index d23b363b6fd..c986f1f3059 100644 Binary files a/docker-for-mac/images/menu/troubleshoot.png and b/docker-for-mac/images/menu/troubleshoot.png differ diff --git a/docker-for-mac/index.md b/docker-for-mac/index.md index 7c1b7eb75a6..a1b8f9510bb 100644 --- a/docker-for-mac/index.md +++ b/docker-for-mac/index.md @@ -12,6 +12,8 @@ redirect_from: - /docker-for-mac/index/ - /docker-for-mac/osx/ title: Get started with Docker Desktop for Mac +toc_min: 1 +toc_max: 2 --- Welcome to Docker Desktop! @@ -101,7 +103,7 @@ menu bar and configure the runtime options described below. ### General -![Preferences](images/menu/prefs-general.png) +![Preferences](images/menu/prefs-general.png){:width="750px"} On the **General** tab, you can configure when to start and update Docker: @@ -124,7 +126,7 @@ The **Resources** tab allows you to configure CPU, memory, disk, proxies, networ On the Advanced tab, you can limit resources available to Docker. ![Advanced Preference -settings-advanced](images/menu/prefs-advanced.png) +settings-advanced](images/menu/prefs-advanced.png){:width="750px"} Advanced settings are: @@ -147,8 +149,6 @@ You can also move the disk image to a different location. If you attempt to move Choose the local directories you'd like to share with your containers. File sharing is required for volume mounting if the project lives outside of the `/Users` directory. In that case, share the drive where the Dockerfile and volume are located. Otherwise, you get `file not found` or `cannot start service` errors at runtime`. -![File Sharing](images/menu/prefs-fileshare.png) - File share settings are: - **Add a Directory**: Click `+` and navigate to the directory you want to add. @@ -175,8 +175,6 @@ propagates these to Docker and to your containers. For example, if you set your proxy settings to `http://proxy.example.com`, Docker uses this proxy when pulling containers. -![Proxies settings](images/menu/prefs-proxies.png) - When you start a container, your proxy settings propagate into the containers. For example: @@ -200,14 +198,10 @@ containers that you would like to keep running across restarts, you should consi You can configure Docker Desktop networking to work on a virtual private network (VPN). Specify a network address translation (NAT) prefix and subnet mask to enable Internet connectivity. -![Network settings](images/menu/prefs-network.png) - ### Docker Engine The Docker Engine page allows you to configure the Docker daemon to determine how your containers run. -![Daemon](images/menu/engine.png) - Type a JSON configuration file in the box to configure the daemon settings. For a full list of options, see the Docker Engine [dockerd commandline reference](/engine/reference/commandline/dockerd.md){:target="_blank" class="_"}. @@ -218,8 +212,6 @@ Click **Apply & Restart** to save your settings and restart Docker Desktop. On the Command Line page, you can specify whether or not to enable experimental features. -![Command Line](images/menu/command-line.png) - {% include experimental.md %} On both Docker Desktop Edge and Stable releases, you can toggle the experimental features on and off. If you toggle the experimental features off, Docker Desktop uses the current generally available release of Docker Engine. @@ -285,12 +277,10 @@ experience conflicts, remove `/usr/local/bin/kubectl`. Click **Apply & Restart** to save the settings. This instantiates images required to run the Kubernetes server as containers, and installs the `/usr/local/bin/kubectl` command on your Mac. - ![Enable Kubernetes](images/kubernetes/kube.png) + ![Enable Kubernetes](images/kubernetes/kube.png){:width="750px"} When Kubernetes is enabled and running, an additional status bar item displays - at the bottom right of the Docker Desktop Preferences dialog. - - ![Installation complete](images/kubernetes/kube-running.png) + at the bottom right of the Docker Desktop Settings dialog. The status of Kubernetes shows in the Docker menu and the context points to `docker-desktop`. @@ -318,6 +308,10 @@ experience conflicts, remove `/usr/local/bin/kubectl`. For information about the reset options, see [Logs and Troubleshooting](troubleshoot.md). +## Dashboard + +The Docker Desktop Dashboard enables you to interact with containers and applications and manage the lifecycle of your applications directly from your machine. The Dashboard UI shows all running, stopped, and started containers with their state. It provides an intuitive interface to perform common actions to inspect and manage containers and existing Docker Compose applications. For more information, see [Docker Desktop Dashboard](dashboard.md). + ## Add TLS certificates You can add trusted Certificate Authorities (CAs) (used to verify registry diff --git a/docker-for-mac/release-notes.md b/docker-for-mac/release-notes.md index 14fa25f767c..a8f16d05bf0 100644 --- a/docker-for-mac/release-notes.md +++ b/docker-for-mac/release-notes.md @@ -13,7 +13,56 @@ This page contains information about the new features, improvements, known issue For information about Edge releases, see the [Edge release notes](edge-release-notes). For Docker Desktop system requirements, see [What to know before you install](install.md#what-to-know-before-you-install). -## Stable Releases of 2019 +## Docker Desktop Community 2.2.0.0 + +> [Download](https://hub.docker.com/?overlay=onboarding) +> +> You must sign in to Docker Hub to download Docker Desktop. + +Docker Desktop 2.2.0.0 contains a Kubernetes upgrade. Your local Kubernetes cluster will be reset after installing this version. + +### Upgrades + +- [Docker Compose 1.25.2](https://github.com/docker/compose/releases/tag/1.25.2) +- [Kubernetes 1.15.5](https://github.com/kubernetes/kubernetes/releases/tag/v1.15.5) +- Linux kernel 4.19.76 +- [QEMU 4.0.1](https://github.com/docker/binfmt) + +### New + +- **Docker Desktop Dashboard:** The new Docker Desktop **Dashboard** provides a user-friendly interface which enables you to interact with containers and applications, and manage the lifecycle of your applications directly from the UI. In addition, it allows you to access the logs, view container details, and monitor resource utilization to explore the container behavior. +For detailed information about the new Dashboard UI, see [Docker Desktop Dashboard](dashboard.md). + +- Introduced a new user interface for the Docker Desktop **Preferences** menu. +- The Restart, Reset, and Uninstall options are now available on the **Troubleshoot** menu. +- Added the ability to start and stop existing Compose-based applications and view combined logs in the Docker Desktop **Dashboard** UI. + +### Bug fixes and minor changes + +- Added missing completions for the `fish` shell for Docker Compose. Fixes [docker/for-mac#3795](https://github.com/docker/for-mac/issues/3795). +- Fixed a bug that did not allow users to copy and paste text in the **Preferences** > **Daemon** window. Fixes [docker/for-mac#3798](https://github.com/docker/for-mac/issues/3798). +- Added support for `Expect: 100-continue` headers in the Docker API proxy. Some HTTP clients such as `curl` send this header when the payload is large, for example, when creating containers. Fixes [moby/moby#39693](https://github.com/moby/moby/issues/39693). +- Added a loading overlay to the **Settings** and **Troubleshoot** windows to prevent editing conflicts. +- Deactivated the **Reset Kubernetes** button when Kubernetes is not activated. +- Improved the navigation in **Settings** and **Troubleshoot** UI. +- Fixed a bug in the UEFI boot menu that sometimes caused Docker Desktop to hang during restart. Fixes [docker/for-mac#2655](https://github.com/docker/for-mac/issues/2655) and [docker/for-mac#3921](https://github.com/docker/for-mac/issues/3921). +- Docker Desktop now allows users to access the host’s SSH agent inside containers. Fixes [docker/for-mac#410](https://github.com/docker/for-mac/issues/410) +- Docker Machine is no longer included in the Docker Desktop installer. You can download it separately from the [Docker Machine releases](https://github.com/docker/machine/releases) page. +- Fixed an issue that caused VMs running on older hardware with macOS Catalina to fail on startup with the error `processor does not support desired secondary processor-based controls`. +- Fixed port forwarding when containers are using `overlay` networks. +- Fixed a container start error when a container has more than one port with an arbitrary or not-yet-configured external port number. For example, `docker run -p 80 -p 443 nginx`. Fixes [docker/for-win#4935](https://github.com/docker/for-win/issues/4935) and [docker/compose#6998](https://github.com/docker/compose/issues/6998). +- Fixed an issue that occurs when sharing overlapping directories. +- Fixed a bug that prevented users from changing the location of the VM disk image. +- Docker Desktop does not inject `inotify` events on directories anymore as these can cause mount points to disappear inside containers. Fixes [docker/for-mac#3976](https://github.com/docker/for-mac/issues/3976). +- Fixed an issue that caused Docker Desktop to fail on startup when there is an incomplete Kubernetes config file. +- Fixed an issue where attempts to log into Docker through Docker Desktop could sometimes fail with the `Incorrect authentication credentials` error. Fixes [docker/for-mac#4010](https://github.com/docker/for-mac/issues/4010). + +### Known issues + +- When you start a Docker Compose application and then start a Docker App which has the same name as the Compose application, Docker Desktop displays only one application on the Dashboard. However, when you expand the application, containers that belong to both applications are displayed on the Dashboard. + +- When you deploy a Docker App with multiple containers on Kubernetes, Docker Desktop displays each Pod as an application on the Dashboard. + ## Docker Desktop Community 2.1.0.5 2019-11-18 @@ -795,4 +844,4 @@ events or unexpected unmounts. * Docker 1.12.0 * Docker Machine 0.8.0 -* Docker Compose 1.8.0 \ No newline at end of file +* Docker Compose 1.8.0 diff --git a/docker-for-mac/space.md b/docker-for-mac/space.md index 8ae379ea334..1005b9b742a 100644 --- a/docker-for-mac/space.md +++ b/docker-for-mac/space.md @@ -11,7 +11,7 @@ Docker Desktop stores Linux containers and images in a single, large "disk image To locate the disk image file, select the Docker icon and then **Preferences** > **Resources** > **Advanced**. -![Disk preferences](images/menu/prefs-advanced.png) +![Disk preferences](images/menu/prefs-advanced.png){:width="750px"} The **Advanced** tab displays the location of the disk image. It also displays the maximum size of the disk image and the actual space the disk image is consuming. Note that other tools might display space usage of the file in terms of the maximum file size, and not the actual file size. diff --git a/docker-for-mac/troubleshoot.md b/docker-for-mac/troubleshoot.md index e9b0c73004d..e61c576d2ba 100644 --- a/docker-for-mac/troubleshoot.md +++ b/docker-for-mac/troubleshoot.md @@ -8,17 +8,12 @@ title: Logs and troubleshooting This page contains information on how to diagnose and troubleshoot Docker Desktop issues, send logs and communicate with the Docker Desktop team, use our forums and Success Center, browse and log issues on GitHub, and find workarounds for known problems. -## Docker Success Center - -**Looking for help with Docker Desktop on Mac?** Check out the [Docker Success Center](http://success.docker.com/) for knowledge base articles, FAQs, and -technical support for various subscription levels. - ## Troubleshoot Choose ![whale menu](images/whale-x.png){: .inline} > **Troubleshoot** from the menu bar to see the troubleshoot options. -![Uninstall or reset Docker](images/menu/troubleshoot.png){: .with-border} +![Uninstall or reset Docker](images/menu/troubleshoot.png){:width="750px"} The Troubleshoot page contains the following options: @@ -26,6 +21,8 @@ The Troubleshoot page contains the following options: * **Run Diagnostics**: Select this option to diagnose any issues on Docker Desktop. For detailed information about diagnostics, see [Diagnose problems, send feedback, and create GitHub issues](#diagnose-problems-send-feedback-and-create-github-issues). +* **Reset Kubernetes cluster**: Select this option to delete all stacks and Kubernetes resources. For more information, see [Kubernetes](/docker-for-mac/index/#kubernetes). + * **Reset disk image**: This option resets all Docker data _without_ a reset to factory defaults. Selecting this option results in the loss of existing settings. diff --git a/docker-for-windows/dashboard.md b/docker-for-windows/dashboard.md new file mode 100644 index 00000000000..4e4ab42ba9d --- /dev/null +++ b/docker-for-windows/dashboard.md @@ -0,0 +1,131 @@ +--- +description: Docker Desktop Dashboard +keywords: Docker Desktop Dashboard, container view +title: Docker Desktop Dashboard +--- + +The Docker Desktop Dashboard provides a simple interface that enables you to interact with containers and applications, and manage the lifecycle of your applications directly from your machine. The Dashboard UI shows all running, stopped, and started containers with their status. It provides an intuitive interface to perform common actions to inspect, interact with, and manage your Docker objects including containers and Docker Compose-based applications. + +The Docker Desktop Dashboard offers the following benefits: + +- A GUI to abstract core information from the CLI +- Access to container logs directly in the UI to search and explore container behavior +- Access to combined Compose logs from the UI to understand Compose applications +- Quick visibility into ports being used by containers +- Monitor container resource utilization + +In addition, the Dashboard UI allows you to: + +- Navigate to the [Settings](/docker-for-windows/index/#docker-settings-dialog) menu to configure Docker Desktop preferences +- Access the [Troubleshoot](troubleshoot.md) menu to debug and perform restart operations +- Sign into [Docker Hub](/docker-for-windows/index/#docker-hub) using your Docker ID + +To access the Docker Desktop Dashboard, from the Docker menu, select **Dashboard**. The Dashboard provides a runtime view of all your containers and applications. + +![Docker Desktop Dashboard](images/dashboard-settings.png) + +## Explore running containers and applications + +From the Docker menu, select **Dashboard**. This lists all your running containers and applications. Note that you must have running containers and applications to see them listed on the Docker Desktop Dashboard. + +The following sections guide you through the process of creating a sample Redis container and a sample application to demonstrate the core functionalities in Docker Desktop Dashboard. + +### Start a Redis container + +To start a Redis container, open your preferred CLI and run the following command: + +`docker run -dt redis` + +This creates a new Redis container. From the Docker menu, select **Dashboard** to see the new Redis container. + +![Redis container](images/redis-container.png){:width="700px"} + +### Start a sample application + +Now, let us start a sample application. You can download the [Example voting app](https://github.com/dockersamples/example-voting-app) from the Docker samples page. The example voting app is a distributed application that runs across multiple Docker containers. + +![Example voting app architecture diagram](images/example-app-architecture.png){:width="600px"} + +The example voting application contains: + +- A front-end web app in [Python](/vote) or [ASP.NET Core](/vote/dotnet) which lets you vote between two options +- A [Redis](https://hub.docker.com/_/redis/) or [NATS](https://hub.docker.com/_/nats/) queue which collects new votes +- A [.NET Core](/worker/src/Worker), [Java](/worker/src/main) or [.NET Core 2.1](/worker/dotnet) worker which consumes votes and stores them +- A [Postgres](https://hub.docker.com/_/postgres/) or [TiDB](https://hub.docker.com/r/dockersamples/tidb/tags/) database backed by a Docker volume +- A [Node.js](/result) or [ASP.NET Core SignalR](/result/dotnet) web app which shows the results of the voting in real time + +To start the application, navigate to the directory containing the example voting application in the CLI and run `docker-compose up --build`. + +``` +$ docker-compose up --build +Creating network "example-voting-app-master_front-tier" with the default driver +Creating network "example-voting-app-master_back-tier" with the default driver +Creating volume "example-voting-app-master_db-data" with default driver +Building vote +Step 1/7 : FROM python:2.7-alpine +2.7-alpine: Pulling from library/python +Digest: sha256:d2cc8451e799d4a75819661329ea6e0d3e13b3dadd56420e25fcb8601ff6ba49 +Status: Downloaded newer image for python:2.7-alpine + ---> 1bf48bb21060 +Step 2/7 : WORKDIR /app + ---> Running in 7a6a0c9d8b61 +Removing intermediate container 7a6a0c9d8b61 + ---> b1242f3c6d0c +Step 3/7 : ADD requirements.txt /app/requirements.txt + ---> 0f5d69b65243 +Step 4/7 : RUN pip install -r requirements.txt + ---> Running in 92788dc9d682 + +... +Successfully built 69da1319c6ce +Successfully tagged example-voting-app-master_worker:latest +Creating example-voting-app-master_vote_1 ... done +Creating example-voting-app-master_result_1 ... done +Creating db ... done +Creating redis ... done +Creating example-voting-app-master_worker_1 ... done +Attaching to db, redis, example-voting-app-master_result_1, example-voting-app-master_vote_1, example-voting-app-master_worker_1 +... +``` + +When the application successfully starts, from the Docker menu, select **Dashboard** to see the example voting application. Expand the application to see the containers running inside the application. + +![App Dashboard view](images/app-dashboard-view.png){:width="700px"} + +Now that you can see the list of running containers and applications on the Dashboard, let us explore some of the actions you can perform: + +- Click **Port** to open the port exposed by the container in a browser. +- Click **CLI** to open a terminal and run commands on the container. +- Click **Stop**, **Start**, **Restart**, or **Delete** to perform lifecycle operations on the container. + +Use the **Search** option to search for a specific object. You can also sort your containers and applications using various options. Click the **Sort by** drop-down to see a list of available options. + +## Interact with containers and applications + +From the Docker Desktop Dashboard, select the example voting application we started earlier. + +The **application view** lists all the containers running on the application and contains a detailed logs view. It also allows you to start, stop, or delete the application. + +Hover over the containers to see some of the core actions you can perform. Use the **Search** option at the bottom to search the application logs for specific events, or select the **Copy** icon to copy the logs to your clipboard. + +![Application view](images/application-view.png){:width="700px"} + +Click on a specific container for detailed information about the container. The **container view** displays **Logs**, **Inspect**, and **Stats** tabs and provides quick action buttons to perform various actions. + +![Explore the app](images/container-view.png){:width="700px"} + +- Select **Logs** to see logs from the container. You can also search the logs for specific events and copy the logs to your clipboard. + +- Select **Inspect** to view low-level information about the container. You can see the local path, version number of the image, SHA-256, port mapping, and other details. + +- Select **Stats** to view information about the container resource utilization. You can see the amount of CPU, disk I/O, memory, and network I/O used by the container. + +You can also use the quick action buttons on the top bar to perform common actions such as opening a CLI to run commands in a container, and perform lifecycle operations such as stop, start, restart, or delete your container. + +Click **Port** to open the port exposed by the container in a browser. + +![Spring app browser view](images/app-browser-view.png){:width="700px"} + +## Feedback + +We would like to hear from you about the new Dashboard UI. Let us know your feedback by creating an issue in the [docker/for-win](https://github.com/docker/for-win/issues) GitHub repository. diff --git a/docker-for-windows/faqs.md b/docker-for-windows/faqs.md index 986ca336712..bf464175a62 100644 --- a/docker-for-windows/faqs.md +++ b/docker-for-windows/faqs.md @@ -81,13 +81,6 @@ deployed containers, but rather sets permissions to a default value of For workarounds and to learn more, see [Permissions errors on data directories for shared volumes](troubleshoot#permissions-errors-on-data-directories-for-shared-volumes). -### Why doesn't `nodemon` pick up file changes in a container mounted on a shared drive? - -Currently, `inotify` does not work on Docker Desktop. This is a known issue. -For more information and a temporary workaround, see -[inotify on shared drives does not work](troubleshoot#inotify-on-shared-drives-does-not-work){: target="_blank" class="_"} -in [Troubleshooting](troubleshoot). - ### Are symlinks supported? Docker Desktop supports symbolic links (symlinks) created within containers. @@ -129,23 +122,6 @@ Docker Desktop can run inside a Windows 10 VM running on apps like Parallels or Unfortunately, VirtualBox (and other hypervisors like VMWare) cannot run when Hyper-V is enabled on Windows. -### Can I share local drives and file system with my Docker Machine VMs? - -No, you cannot share local drives with Docker Machine nodes when using Docker -Desktop with Hyper-V. Shared drives can be made available to containers, but -Docker Desktop does not support mounts for nodes you created with -`docker-machine`. - -For more about sharing local drives with containers using Docker Desktop, -see [Shared drives](/docker-for-windows#shared-drives) in the Getting -Started topic. - -To learn more about using Docker Desktop and Docker Machine, see -[What to know before you install](install#what-to-know-before-you-install) in the -Getting Started topic. For more about Docker Machine itself, see -[What is Docker Machine?](/machine/overview#what-is-docker-machine), and the -[Hyper-V driver](/machine/drivers/hyper-v) for Docker Machine. - ## Windows requirements ### How do I run Windows containers on Docker Desktop on Windows Server? @@ -161,13 +137,11 @@ Docker Desktop requires the Hyper-V feature which is not available in the Window Docker Desktop uses the Windows Hyper-V features. While older Windows versions have Hyper-V, their Hyper-V implementations lack features critical for Docker Desktop to work. -### Why does Docker Desktop fail to start when firewalls or anti-virus software is installed? +### Why does Docker Desktop fail to start when anti-virus software is installed? -Some firewalls and anti-virus software might be incompatible with Hyper-V and -some Windows 10 builds (possibly, the Anniversary Update), which impacts Docker -Desktop. See details and workarounds in -[Docker fails to start when firewall or anti-virus software is installed](troubleshoot#docker-fails-to-start-when-firewall-or-anti-virus-software-is-installed) -in [Troubleshooting](troubleshoot). +Some anti-virus software may be incompatible with Hyper-V and Windows 10 builds which impact Docker +Desktop. For more information, see [Docker Desktop fails to start when anti-virus software is installed](/docker-for-windows/troubleshoot/#docker-desktop-fails-to-start-when-anti-virus-software-is-installed) +in [Troubleshooting](troubleshoot.md). ## Feedback diff --git a/docker-for-windows/images/app-browser-view.png b/docker-for-windows/images/app-browser-view.png new file mode 100644 index 00000000000..2cd6e51d63a Binary files /dev/null and b/docker-for-windows/images/app-browser-view.png differ diff --git a/docker-for-windows/images/app-dashboard-view.png b/docker-for-windows/images/app-dashboard-view.png new file mode 100644 index 00000000000..087e01406e1 Binary files /dev/null and b/docker-for-windows/images/app-dashboard-view.png differ diff --git a/docker-for-windows/images/application-view.png b/docker-for-windows/images/application-view.png new file mode 100644 index 00000000000..bfe2113a945 Binary files /dev/null and b/docker-for-windows/images/application-view.png differ diff --git a/docker-for-windows/images/container-view.png b/docker-for-windows/images/container-view.png new file mode 100644 index 00000000000..43779fd106a Binary files /dev/null and b/docker-for-windows/images/container-view.png differ diff --git a/docker-for-windows/images/dashboard-settings.png b/docker-for-windows/images/dashboard-settings.png new file mode 100644 index 00000000000..2abe91d2dbd Binary files /dev/null and b/docker-for-windows/images/dashboard-settings.png differ diff --git a/docker-for-windows/images/docker-menu-settings.png b/docker-for-windows/images/docker-menu-settings.png index 33ad559d13b..d50d9177e83 100644 Binary files a/docker-for-windows/images/docker-menu-settings.png and b/docker-for-windows/images/docker-menu-settings.png differ diff --git a/docker-for-windows/images/example-app-architecture.png b/docker-for-windows/images/example-app-architecture.png new file mode 100644 index 00000000000..4d3f6d1905c Binary files /dev/null and b/docker-for-windows/images/example-app-architecture.png differ diff --git a/docker-for-windows/images/redis-container.png b/docker-for-windows/images/redis-container.png new file mode 100644 index 00000000000..478fb5f10b3 Binary files /dev/null and b/docker-for-windows/images/redis-container.png differ diff --git a/docker-for-windows/images/settings-general.png b/docker-for-windows/images/settings-general.png index 5586014b6a5..232d519fd1e 100644 Binary files a/docker-for-windows/images/settings-general.png and b/docker-for-windows/images/settings-general.png differ diff --git a/docker-for-windows/images/settings-kubernetes.png b/docker-for-windows/images/settings-kubernetes.png index f70068902d9..1fd8981273e 100644 Binary files a/docker-for-windows/images/settings-kubernetes.png and b/docker-for-windows/images/settings-kubernetes.png differ diff --git a/docker-for-windows/images/settings-resources.png b/docker-for-windows/images/settings-resources.png new file mode 100644 index 00000000000..1b234bf05e3 Binary files /dev/null and b/docker-for-windows/images/settings-resources.png differ diff --git a/docker-for-windows/images/troubleshoot.png b/docker-for-windows/images/troubleshoot.png new file mode 100644 index 00000000000..3096e102e0f Binary files /dev/null and b/docker-for-windows/images/troubleshoot.png differ diff --git a/docker-for-windows/index.md b/docker-for-windows/index.md index c3290793315..7a6517b0dcd 100644 --- a/docker-for-windows/index.md +++ b/docker-for-windows/index.md @@ -11,6 +11,8 @@ redirect_from: - /engine/installation/windows/ - /docker-for-windows/index/ title: Get started with Docker for Windows +toc_min: 1 +toc_max: 2 --- Welcome to Docker Desktop! @@ -184,7 +186,7 @@ This section explains the configuration options accessible from the **Settings** On the **General** tab of the Settings dialog, you can configure when to start and update Docker. -![Settings](images/settings-general.png){:width="600px"} +![Settings](images/settings-general.png){:width="750px"} * **Start Docker when you log in** - Automatically start Docker Desktop upon Windows system login. @@ -193,33 +195,51 @@ Click **OK** to accept and install updates (or cancel to keep the current version). You can manually update by choosing **Check for Updates** from the main Docker menu. +* **Expose daemon on tcp://localhost:2375 without TLS** - Click this option to enable legacy clients to connect to the Docker daemon. You must use this option with caution as exposing the daemon without TLS can result in remote code execution attacks. + * **Send usage statistics** - By default, Docker Desktop sends diagnostics, crash reports, and usage data. This information helps Docker improve and troubleshoot the application. Clear the check box to opt out. Docker may periodically prompt you for more information. -* **Expose daemon on tcp://localhost:2375 without TLS** - Click this option to enable legacy clients to connect to the Docker daemon. You must use this option with caution as exposing the daemon without TLS can result in remote code execution attacks. +### Resources + +The **Resources** tab allows you to configure CPU, memory, disk, proxies, network, and other resources. + +![Resources](images/settings-resources.png){:width="750px"} + +#### Advanced + +Use the **Advanced** tab to limit resources available to Docker. + +**CPUs**: By default, Docker Desktop is set to use half the number of processors +available on the host machine. To increase processing power, set this to a +higher number; to decrease, lower the number. + +**Memory**: By default, Docker Desktop is set to use `2` GB runtime memory, +allocated from the total available memory on your machine. To increase the RAM, set this to a higher number. To decrease it, lower the number. + +**Swap**: Configure swap file size as needed. The default is 1 GB. -### Shared drives +**Disk image size**: Specify the size of the disk image. -Share your local drives (volumes) with Docker Desktop, so that they are -available to your [Linux containers](#switch-between-windows-and-linux-containers). +**Disk image location**: Specify the location of the Linux volume where containers and images are stored. -![Shared drives](images/settings-shared-drives.png){:width="600px"} +You can also move the disk image to a different location. If you attempt to move a disk image to a location that already has one, you get a prompt asking if you want to use the existing image or replace it. -Permission for shared drives are tied to the credentials you provide here. If +#### File sharing + +Choose the local directories you'd like to share with your Linux containers. File sharing is required for mounting volumes in [Linux containers](#switch-between-windows-and-linux-containers), + not for Windows containers. For Linux containers, you need to share the drive + where the Dockerfile and volume are located. Otherwise, you get `file not found` or `cannot start service` errors at runtime. See [Volume mounting requires shared drives for Linux containers](troubleshoot.md#volume-mounting-requires-shared-drives-for-linux-containers). + +File sharing permissions are tied to the credentials you provide here. If you run `docker` commands under a different username than the one configured here, your containers cannot access the mounted volumes. -To apply shared drives, you are prompted for your Windows system (domain) -username and password. You can select an option to have Docker store the -credentials so that you don't need to enter them every time. +When you select a local drive to share with your containers, Docker Desktop prompts you for your Windows system (domain) +username and password. Enter your credentials and then click **Apply & Restart**. > Tips on shared drives, permissions, and volume mounts -> - * Shared drives are only required for mounting volumes in [Linux containers](#switch-between-windows-and-linux-containers), - not for Windows containers. For Linux containers, you need to share the drive - where the Dockerfile and volume are located. If you get errors such as `file not found` - or `cannot start service` you may need to enable shared drives. See [Volume mounting requires shared drives for Linux containers](troubleshoot.md#volume-mounting-requires-shared-drives-for-linux-containers).) > * If possible, avoid volume mounts from the Windows host, and instead mount on the Linux VM, or use a [data volume](/engine/tutorials/dockervolumes.md#data-volumes) @@ -265,46 +285,13 @@ containers. Alternatively, you can opt not to share it by selecting **Cancel**. ![Shared drive on demand](images/shared-drive-on-demand.png){:width="600px"} -### Advanced - -The Linux VM restarts after changing the settings on the Advanced tab. This takes a few seconds. - -![CPU and Memory settings](images/settings-advanced.png){:width="600px"} - -* **CPUs** - Change the number of processors assigned to the Linux VM. - -* **Memory** - Change the amount of memory the Docker Desktop Linux VM uses. - -* **Swap** - Configure the swap file size. - -### Network - -You can configure Docker Desktop networking to work on a virtual private network (VPN). - -![Network settings](images/settings-network.png){:width="600px"} - -* **Internal Virtual Switch** - You can specify a network address translation (NAT) prefix and subnet mask to enable Internet connectivity. - -* **DNS Server** - You can configure the DNS server to use dynamic or static IP addressing. - -> **Note**: Some users reported problems connecting to Docker Hub on Docker Desktop Stable version. This would manifest as an error when trying to run -> `docker` commands that pull images from Docker Hub that are not already -> downloaded, such as a first time run of `docker run hello-world`. If you -> encounter this, reset the DNS server to use the Google DNS fixed address: -> `8.8.8.8`. For more information, see -> [Networking issues](troubleshoot.md#networking-issues) in Troubleshooting. - -Updating these settings requires a reconfiguration and reboot of the Linux VM. - -### Proxies +#### Proxies Docker Desktop lets you configure HTTP/HTTPS Proxy Settings and automatically propagates these to Docker and to your containers. For example, if you set your proxy settings to `http://proxy.example.com`, Docker uses this proxy when pulling containers. -![Proxies](images/settings-proxies.png){:width="600px"} - When you start a container, your proxy settings propagate into the containers. For example: ```ps @@ -325,13 +312,36 @@ automatically to pick up the new settings. If you have containers that you wish to keep running across restarts, you should consider using [restart policies](/engine/reference/run/#restart-policies-restart). -### Daemon +#### Network + +You can configure Docker Desktop networking to work on a virtual private network (VPN). Specify a network address translation (NAT) prefix and subnet mask to enable Internet connectivity. + +**DNS Server**: You can configure the DNS server to use dynamic or static IP addressing. + +> **Note**: Some users reported problems connecting to Docker Hub on Docker Desktop Stable version. This would manifest as an error when trying to run +> `docker` commands that pull images from Docker Hub that are not already +> downloaded, such as a first time run of `docker run hello-world`. If you +> encounter this, reset the DNS server to use the Google DNS fixed address: +> `8.8.8.8`. For more information, see +> [Networking issues](troubleshoot.md#networking-issues) in Troubleshooting. + +Updating these settings requires a reconfiguration and reboot of the Linux VM. + +### Docker Engine + +The Docker Engine page allows you to configure the Docker daemon to determine how your containers run. -You can configure the Docker daemon to hone how your containers run. -**Advanced mode** lets you edit the JSON directly. **Basic mode** lets you -configure the common daemon options with interactive settings. +Type a JSON configuration file in the box to configure the daemon settings. For a full list of options, see the Docker Engine [dockerd commandline +reference](/engine/reference/commandline/dockerd.md){:target="_blank" +class="_"}. -![Docker Daemon](images/settings-daemon-basic.png){:width="600px"} +Click **Apply & Restart** to save your settings and restart Docker Desktop. + +### Command Line + +On the Command Line page, you can specify whether or not to enable experimental features. + +On both Docker Desktop Edge and Stable releases, you can toggle the experimental features on and off. If you toggle the experimental features off, Docker Desktop uses the current generally available release of Docker Engine. #### Experimental features @@ -379,40 +389,11 @@ Server: Docker Engine - Community GitCommit: fec3683 ``` -#### Insecure registries - -You can set up your own [registries](/registry/introduction.md) on the **Basic** -Daemon settings. - -Normally, you store public or private images in [Docker Hub](https://hub.docker.com/) -and [Docker Trusted Registry](/datacenter/dtr/2.4/guides/index.md). Here, you -can use Docker to set up your own insecure [registry](/registry/introduction.md). Simply add URLs for insecure registries and registry mirrors on which to host your images. - -For more information, see [How do I add custom CA certificates?](faqs.md#how-do-i-add-custom-ca-certificates) -and [How do I add client certificates?](faqs.md#how-do-i-add-client-certificates) in the FAQs. - -#### Daemon configuration file - -The **Advanced** daemon settings provide the original option to directly edit -the JSON configuration file for the [daemon](/engine/reference/commandline/dockerd.md). - -> Updating these settings requires a reconfiguration and reboot of the Linux VM. - -![Docker Daemon](images/settings-daemon-advanced.png){:width="600px"} - -For a full list of options on the Docker daemon, see [daemon](/engine/reference/commandline/dockerd.md), and also sub-topics: - -* [Daemon configuration file](/engine/reference/commandline/dockerd.md#daemon-configuration-file) - -* [Linux configuration file](/engine/reference/commandline/dockerd.md#linux-configuration-file) - -* [Windows configuration file](/engine/reference/commandline/dockerd.md#windows-configuration-file) - ### Kubernetes Docker Desktop includes a standalone Kubernetes server that runs on your Windows host, so that you can test deploying your Docker workloads on Kubernetes. -![Enable Kubernetes](images/settings-kubernetes.png){:width="600px"} +![Enable Kubernetes](images/settings-kubernetes.png){:width="750px"} The Kubernetes client command, `kubectl`, is included and configured to connect to the local Kubernetes server. If you have `kubectl` already installed and @@ -424,45 +405,36 @@ to change context so that `kubectl` is pointing to `docker-for-desktop`: > kubectl config use-context docker-for-desktop ``` -You can also change it through the Docker Desktop menu: + To enable Kubernetes support and install a standalone instance of Kubernetes + running as a Docker container, select **Enable Kubernetes**. -![Change Kubernetes Context](images/docker-menu-context-switch.png){:width="450px"} +To set Kubernetes as the + [default orchestrator](/docker-for-mac/kubernetes/#override-the-default-orchestrator), select **Deploy Docker Stacks to Kubernetes by default**. -If you installed `kubectl` by another method, and -experience conflicts, remove it. +By default, Kubernetes containers are hidden from commands like `docker +service ls`, because managing them manually is not supported. To make them +visible, select **Show system containers (advanced)**. Most users do not need this option. -- To enable Kubernetes support and install a standalone instance of Kubernetes - running as a Docker container, select **Enable Kubernetes** and click the - **Apply** button. This instantiates images required to run the Kubernetes server as containers, and installs the `kubectl.exe` command in the path. +Click **Apply & Restart** to save the settings. This instantiates images required to run the Kubernetes server as containers, and installs the `kubectl.exe` command in the path. -- By default, Kubernetes containers are hidden from commands like `docker - service ls`, because managing them manually is not supported. To make them - visible, select **Show system containers (advanced)** and click **Apply**. - Most users do not need this option. +- When Kubernetes is enabled and running, an additional status bar item displays +at the bottom right of the Docker Desktop Settings dialog. The status of Kubernetes shows in the Docker menu and the context points to + `docker-desktop`. -- To disable Kubernetes support at any time, deselect **Enable Kubernetes**. +- To disable Kubernetes support at any time, clear the **Enable Kubernetes** check box. The Kubernetes containers are stopped and removed, and the `/usr/local/bin/kubectl` command is removed. - For more information on using the Kubernetes integration with Docker Desktop, see [Deploy on Kubernetes](kubernetes.md). - -### Reset - -> Reset and Restart options -> -> On Edge releases, the **Restart Docker Desktop**, **Reset Kubernetes Cluster**, and **Reset to factory defaults** options are available on the **Troubleshoot** menu. - -On Stable releases, you can restart Docker or reset its configuration using the Reset tab. - -![Reset](images/settings-reset.png){:width="600px"} +- To delete all stacks and Kubernetes resources, select **Reset Kubernetes Cluster**. +- If you installed `kubectl` by another method, and +experience conflicts, remove it. -* **Restart Docker Desktop** - Shuts down and restarts the Docker application. + For more information on using the Kubernetes integration with Docker Desktop, see [Deploy on Kubernetes](kubernetes.md). -* **Reset Kubernetes Cluster** - Deletes all stacks and Kubernetes resources. +### Reset -* **Reset to factory defaults** - Resets Docker to factory defaults. This is - useful in cases where Docker stops working or becomes unresponsive. +The **Restart Docker Desktop** and **Reset to factory defaults** options are now available on the **Troubleshoot** menu. For information, see [Logs and Troubleshooting](troubleshoot.md). ### Troubleshoot @@ -481,8 +453,6 @@ the Docker CLI talks to. Select **Switch to Windows containers** to use Windows containers, or select **Switch to Linux containers** to use Linux containers (the default). -![Windows-Linux container types switch](images/docker-menu-switch.png){:width="300px"} - 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). @@ -514,6 +484,10 @@ proxies and daemon configurations return to what you had set for Linux containers. Your Windows container settings are retained and become available again when you switch back. +## Dashboard + +The Docker Desktop Dashboard enables you to interact with containers and applications and manage the lifecycle of your applications directly from your machine. The Dashboard UI shows all running, stopped, and started containers with their state. It provides an intuitive interface to perform common actions to inspect and manage containers and Docker Compose applications. For more information, see [Docker Desktop Dashboard](dashboard.md). + ## Docker Hub Select **Sign in /Create Docker ID** from the Docker Desktop menu to access your [Docker Hub](https://hub.docker.com/){: target="_blank" class="_" } account. Once logged in, you can access your Docker Hub repositories directly from the Docker Desktop menu. diff --git a/docker-for-windows/release-notes.md b/docker-for-windows/release-notes.md index 2d424ff27e4..f029520bf71 100644 --- a/docker-for-windows/release-notes.md +++ b/docker-for-windows/release-notes.md @@ -13,7 +13,68 @@ This page contains information about the new features, improvements, known issue For information about Edge releases, see the [Edge release notes](edge-release-notes). For Docker Desktop system requirements, see [What to know before you install](install.md#what-to-know-before-you-install). -## Stable Releases of 2019 +## Docker Desktop Community 2.2.0.0 + +> [Download](https://hub.docker.com/?overlay=onboarding) +> +> You must sign in to Docker Hub to download Docker Desktop. + +Docker Desktop 2.2.0.0 contains a Kubernetes upgrade. Your local Kubernetes cluster will be reset after installing this version. + +### Upgrades + +- [Docker Compose 1.25.2](https://github.com/docker/compose/releases/tag/1.25.2) +- [Kubernetes 1.15.5](https://github.com/kubernetes/kubernetes/releases/tag/v1.15.5) +- Linux kernel 4.19.76 +- [QEMU 4.0.1](https://github.com/docker/binfmt) + +### New + +- **Docker Desktop Dashboard:** The new Docker Desktop **Dashboard** provides a user-friendly interface which enables you to interact with containers and applications, and manage the lifecycle of your applications directly from the UI. In addition, it allows you to access the logs, view container details, and monitor resource utilization to explore the container behavior. +For detailed information about the new Dashboard UI, see [Docker Desktop Dashboard](dashboard.md). + +- **WSL 2 backend:** The experimental Docker Desktop WSL 2 backend architecture introduces support for Kubernetes, provides an updated Docker daemon, offers VPN-friendly networking, and additional features. For more information, see [Docker Desktop WSL 2 backend](https://docs.docker.com/docker-for-windows/wsl-tech-preview/). + +- **New file sharing implementation:** Docker Desktop introduces a new file sharing implementation that replaces Samba, CIFS, and Hyper-V networking. The new implementation offers improved I/O performance. Additionally, when using the new file system: + + - Users don't have to expose the Samba port, and therefore do not experience issues related to IT firewall or drive-sharing policy. + - There is no need to provide user credentials to Docker Desktop. File access rights are automatically enforced when accessing mounted folders through containers. + + For more information, see the blog post [ New file sharing implementation in Docker Desktop Windows](https://www.docker.com/blog/new-filesharing-implementation-in-docker-desktop-windows/). + +- Added the **WSL Integration** option in **Settings** > **Resources** to select WSL 2 distributions. This option will be visible only after enabling WSL 2 on your machine. +- Introduced a new user interface for the Docker Desktop **Settings** menu. +- The Restart, Reset, and Uninstall options are now available on the **Troubleshoot** menu. +- Added the ability to start and stop existing Compose-based applications and view combined logs in the Docker Desktop **Dashboard** UI. + +### Bug fixes and minor changes + +- Enabled Windows features such as Hyper-V and Containers during installation, thereby reducing the need for another restart after installation. +- Added support for `Expect: 100-continue` headers in the Docker API proxy. Some HTTP clients such as `curl` send this header when the payload is large, for example, when creating containers. Fixes [moby/moby#39693](https://github.com/moby/moby/issues/39693). +- Added a loading overlay to the **Settings** and **Troubleshoot** windows to prevent editing conflicts. +- Deactivated the **Reset Kubernetes** button when Kubernetes is not activated. +- Improved the navigation in **Settings** and **Troubleshoot** UI. +- Docker Machine is no longer included in the Docker Desktop installer. You can download it separately from the [Docker Machine releases](https://github.com/docker/machine/releases) page. +- Docker Desktop now automatically restarts after an update. +- Fixed an issue where Docker Desktop auto-start was not being disabled properly on some machines. +- Fixed a container start error when a container has more than one port with an arbitrary or not-yet-configured external port number. For example, `docker run -p 80 -p 443 nginx`). Fixes [docker/for-win#4935](https://github.com/docker/for-win/issues/4935) and [docker/compose#6998](https://github.com/docker/compose/issues/6998). +- Fixed an issue which caused Docker Desktop to crash when resetting to factory defaults while running Windows containers. +- Fixed multiple issues related to Fast Startup. +- Docker Desktop now supports `inotify` events on shared filesystems. +- Docker Desktop startup is now more reliable and does not clash with host firewall software. +- Fixed a rare issue that caused to Docker Desktop to crash with the error `Unable to stop Hyper-V VM: Cannot validate argument on parameter 'SwitchName'. The argument is null or empty.` +- Fixed a bug that caused a rare crash when uninstalling Docker Desktop. +- Fixed an issue that caused Docker Desktop to fail on startup when there is an incomplete Kubernetes config file. +- Fixed various stability issues. + +### Known issues + +- When you start a Docker Compose application and then start a Docker App which has the same name as the Compose application, Docker Desktop displays only one application on the Dashboard. However, when you expand the application, containers that belong to both applications are displayed on the Dashboard. +- When you deploy a Docker App with multiple containers on Kubernetes, Docker Desktop displays each Pod as an application on the Dashboard. +- WSL 2 requires Windows 10 Insider Preview build 19018 or greater. +- The Dashboard stops updating when you switch the container mode between Linux and Windows. To work around this issue, close and reopen the Dashboard. +- The new gRPC FUSE file sharing implementation does not support connecting to new drives (for example, USB drives) added after Docker Desktop starts. If you would like to share the new drive in Docker Desktop, you must quit Docker Desktop and then start the application to refresh the list of drives in Settings. +- Sharing files from virtual drives created by `ImDisk Toolkit` does not work. ## Docker Desktop Community 2.1.0.5 2019-11-18 @@ -781,4 +842,4 @@ We did not distribute a 1.12.4 stable release * Docker 1.12.0 * Docker Machine 0.8.0 -* Docker Compose 1.8.0 \ No newline at end of file +* Docker Compose 1.8.0 diff --git a/docker-for-windows/troubleshoot.md b/docker-for-windows/troubleshoot.md index 54e1486f7e3..5b6bb9479b4 100644 --- a/docker-for-windows/troubleshoot.md +++ b/docker-for-windows/troubleshoot.md @@ -9,10 +9,23 @@ title: Logs and troubleshooting This page contains information on how to diagnose and troubleshoot problems, send logs and communicate with the Docker Desktop team, use our forums and Knowledge Hub, browse and log issues on GitHub, and find workarounds for known problems. -## Docker Knowledge Hub +## Troubleshoot -**Looking for help with Docker Desktop for Windows?** Check out [Docker Success Center](http://success.docker.com/q) for knowledge base articles, FAQs, and -technical support for various subscription levels. +Choose ![whale menu](images/whale-x.png){: .inline} > **Troubleshoot** +from the menu bar to see the troubleshoot options. + +![Uninstall or reset Docker](images/troubleshoot.png){:width="750px"} + +The Troubleshoot page contains the following options: + +* **Restart Docker Desktop**: Select to restart Docker Desktop. + +* **Run Diagnostics**: Select this option to diagnose any issues on Docker Desktop. For detailed information about diagnostics, see [Diagnose problems, send feedback, and create GitHub issues](#diagnose-problems-send-feedback-and-create-github-issues). + +* **Reset Kubernetes cluster**: Select this option to delete all stacks and Kubernetes resources. For more information, see [Kubernetes](/docker-for-windows/index/#kubernetes). + +* **Reset to factory defaults**: Choose this option to reset all options on +Docker Desktop to their initial state, the same as when Docker Desktop was first installed. ## Diagnose problems, send feedback, and create GitHub issues @@ -568,20 +581,12 @@ currently using the port (the PID is the number in the rightmost column). Decide whether to shut the other process down, or to use a different port in your docker app. -### Docker fails to start when firewall or anti-virus software is installed - -Some firewalls and anti-virus software might be incompatible with Microsoft -**Windows 10 builds**, such as Windows 10 Anniversary Update. The conflict -typically occurs after a Windows update or new install of the firewall, and -manifests as an error response from the Docker daemon and a **Docker Desktop start failure**. The Comodo Firewall was one example of this problem, but users report that software has since been updated to work with these Windows 10 builds. +### Docker Desktop fails to start when anti-virus software is installed -See the Comodo forums topics [Comodo Firewall conflict with -Hyper-V](https://forums.comodo.com/bug-reports-cis/comodo-firewall-began-conflict-with-hyperv-t116351.0.html) -and [Windows 10 Anniversary build doesn't allow Comodo drivers to be -installed](https://forums.comodo.com/install-setup-configuration-help-cis/windows-10-aniversary-build-doesnt-allow-comodo-drivers-to-be-installed-t116322.0.html). -A Docker Desktop user-created issue describes the problem specifically as it -relates to Docker: [Docker fails to start on Windows -10](https://github.com/docker/for-win/issues/27). +Some anti-virus software may be incompatible with with Hyper-V and Microsoft +Windows 10 builds. The conflict +typically occurs after a Windows update and +manifests as an error response from the Docker daemon and a Docker Desktop start failure. -For a temporary workaround, uninstall the firewall or anti-virus software, or -explore other workarounds suggested on the forum. +For a temporary workaround, uninstall the anti-virus software, or +explore other workarounds suggested on Docker Desktop forums. diff --git a/ee/ucp/deploy-application-package.md b/ee/ucp/deploy-application-package.md index 4ecbc6ef999..4a7c460cc8e 100644 --- a/ee/ucp/deploy-application-package.md +++ b/ee/ucp/deploy-application-package.md @@ -10,46 +10,44 @@ keywords: ucp, swarm, kubernetes, application, app package Docker Enterprise Edition 2.1 introduces application packages in Docker. With application packages, you can add metadata and settings to an existing Compose file. This gives operators more context about applications they deploy and manage. -An application package can have one of these formats: +Application packages can present in one of two different formats, **Directory** or **Single-file**: -- **Directory format**: Defined by metadata.yml, a docker-compose.yml, and a settings.yml files inside a `my-app.dockerapp` folder. This is also called the folder format. -- **Single-file format**: Defined by metadata.yml, docker-compose.yml, and settings.yml concatenated in that order and separated by `---\n` in a single file named named `my-app.dockerapp`. +- **Directory**: Defined by metadata.yml, a docker-compose.yml, and a settings.yml files inside a `my-app.dockerapp` folder. This is also called the folder format. +- **Single-file**: Defined by metadata.yml, docker-compose.yml, and settings.yml concatenated in that order and separated by `---\n` in a single file named named `my-app.dockerapp`. Once an application package has been deployed, you manipulate and manage it as you would any stack. ## Creating a stack in the UCP web interface -To create a stack in the UCP web interface, follow these steps: +1. Access the UCP web interface. +2. From the left menu, select **Shared Resources** > **Stacks**. -1. Go to the UCP web interface. -2. In the lefthand menu, first select **Shared Resources**, then **Stacks**. + ![Create stacks in UCP](/ee/ucp/images/v32stacks.png) - ![Create stacks in UCP](/ee/ucp/images/ucp-create-stack.png) - -3. Select **Create Stack** to display **1. Configure Application** in the stack creation dialog. +3. Click **Create Stack** to open the **Create Application** window. The **1. Configure Application** section will become active. ![Configure stacks in UCP](/ee/ucp/images/ucp-config-stack.png) 4. Enter a name for the stack in the **Name** field. -5. Select either **Swarm Services** or **Kubernetes Workloads** for the orchestrator mode. If you select Kubernetes, also select a namespace in the **Namespace** drop-down list. +5. Click to indicate the **Orchestrator Mode**, either **Swarm Services** or **Kubernetes Workloads**. Note that if you select Kubernetes Workloads, the **Namespace** drop-down list will display, from which you must select one of the namespaces offered. ![Specify namespace for a stack in UCP](/ee/ucp/images/ucp-stack-namespace.png) -6. Select either **Compose File** or **App Package** for the **Application File Mode**. -7. Select **Next**. -8. If you selected Compose file, enter or upload your `docker-compose.yml` in **2. Add Application File**. +6. Click to indicate the **Application File Mode**, either **Compose File** or **App Package**. +7. Click **Next** to open the **2. Add Application File** section. +8. Add the application file, according to the Application File Mode selected in section 1. + - **Compose File:** Enter or upload the docker-compose.yml file. + - **App Package:** Enter or upload the application package in the single-file format. ![Provide docker-compose.yml in UCP](/ee/ucp/images/ucp-stack-compose.png) - or if you selected **App Package**, enter or upload the application package in the single-file format. - ![Provide application package in UCP](/ee/ucp/images/ucp-stack-package.png) 9. Select **Create**. ## Single-file format example -Here is an example of a single-file application package: +The following file is an example of a single-file application package. ``` version: 0.1.0 diff --git a/ee/ucp/images/v32stacks.png b/ee/ucp/images/v32stacks.png new file mode 100644 index 00000000000..bb1c54c9223 Binary files /dev/null and b/ee/ucp/images/v32stacks.png differ