diff --git a/assets/css/typography.css b/assets/css/typography.css index a0c6511e5908..008e7af70494 100644 --- a/assets/css/typography.css +++ b/assets/css/typography.css @@ -73,10 +73,5 @@ @apply text-lg; line-height: 1.75; } - table { - display: block; - overflow-x: auto; - max-width: 100%; - } } } diff --git a/content/manuals/desktop/faqs/linuxfaqs.md b/content/manuals/desktop/faqs/linuxfaqs.md index c0761110e0a9..0cd0dbc98566 100644 --- a/content/manuals/desktop/faqs/linuxfaqs.md +++ b/content/manuals/desktop/faqs/linuxfaqs.md @@ -40,7 +40,11 @@ Docker Desktop for Linux runs a Virtual Machine (VM) for the following reasons: Docker Desktop for Linux uses [VirtioFS](https://virtio-fs.gitlab.io/) as the default (and currently only) mechanism to enable file sharing between the host -and Docker Desktop VM. In order not to require elevated privileges, without +and Docker Desktop VM. + +{{< accordion title="Additional information for Docker Desktop version 4.34 and earlier" >}} + +In order not to require elevated privileges, without unnecessarily restricting operations on the shared files, Docker Desktop runs the file sharing service (`virtiofsd`) inside a user namespace (see `user_namespaces(7)`) with UID and GID mapping configured. As a result Docker @@ -88,6 +92,8 @@ easy access to such a file on the host. The problem is resolved by creating a group with the new GID and adding our user to it, or by setting a recursive ACL (see `setfacl(1)`) for folders shared with the Docker Desktop VM. +{{< /accordion >}} + ### Where does Docker Desktop store Linux containers? Docker Desktop stores Linux containers and images in a single, large "disk image" file in the Linux filesystem. This is different from Docker on Linux, which usually stores containers and images in the `/var/lib/docker` directory on the host's filesystem. diff --git a/content/manuals/desktop/install/linux/_index.md b/content/manuals/desktop/install/linux/_index.md index 34d62e598caf..b6c364d70aa1 100644 --- a/content/manuals/desktop/install/linux/_index.md +++ b/content/manuals/desktop/install/linux/_index.md @@ -116,9 +116,6 @@ Refer to the [Docker Context documentation](/manuals/engine/manage-resources/con Docker provides `.deb` and `.rpm` packages from the following Linux distributions and architectures: - - - | Platform | x86_64 / amd64 | |:------------------------|:-----------------------:| | [Ubuntu](ubuntu.md) | ✅ | @@ -142,7 +139,7 @@ To install Docker Desktop successfully, your Linux host must meet the following - 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/). - At least 4 GB of RAM. -- Enable configuring ID mapping in user namespaces, see [File sharing](/manuals/desktop/faqs/linuxfaqs.md#how-do-i-enable-file-sharing). +- Enable configuring ID mapping in user namespaces, see [File sharing](/manuals/desktop/faqs/linuxfaqs.md#how-do-i-enable-file-sharing). Note that for Docker Desktop version 4.35 and later, this is not required anymore. - Recommended: [Initialize `pass`](/manuals/desktop/get-started.md#credentials-management-for-linux-users) for credentials management. Docker Desktop for Linux runs a Virtual Machine (VM). For more information on why, see [Why Docker Desktop for Linux runs a VM](/manuals/desktop/faqs/linuxfaqs.md#why-does-docker-desktop-for-linux-run-a-vm). diff --git a/content/manuals/desktop/install/linux/rhel.md b/content/manuals/desktop/install/linux/rhel.md index ae941460c748..88132d0a083f 100644 --- a/content/manuals/desktop/install/linux/rhel.md +++ b/content/manuals/desktop/install/linux/rhel.md @@ -5,14 +5,14 @@ keywords: red hat, red hat enterprise linux, rhel, rpm, desktop, docker desktop, docker desktop for linux, dd4l title: Install Docker Desktop on RHEL linkTitle: RHEL -sitemap: false download-url-base: https://download.docker.com/linux/rhel +params: + sidebar: + badge: + color: green + text: New --- -{{% restricted title="Early Access" %}} -Docker Desktop on RHEL is in [Early Access](/manuals/release-lifecycle.md). -{{% /restricted %}} - > **Docker Desktop terms** > > Commercial use of Docker Desktop in larger enterprises (more than 250 @@ -27,6 +27,7 @@ To install Docker Desktop successfully, you must: - Meet the [general system requirements](_index.md#general-system-requirements). - Have a 64-bit version of either RHEL 8 or RHEL 9. +- Have a [Docker account](/manuals/accounts/create-account.md), as authentication is required for Docker Desktop on RHEL. If you don't have `pass` installed, or it can't be installed, you must enable [CodeReady Linux Builder (CRB) repository](https://access.redhat.com/articles/4348511) @@ -90,7 +91,7 @@ To install Docker Desktop on RHEL: $ sudo dnf config-manager --add-repo {{% param "download-url-base" %}}/docker-ce.repo ``` -2. Download the latest RPM package. +2. Download the latest [RPM package](https://desktop.docker.com/linux/main/amd64/docker-desktop-x86_64.rpm?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64). 3. Install the package with dnf as follows: @@ -114,7 +115,11 @@ The post-install script: {{< include "desktop-linux-launch.md" >}} ->**Tip** +> [!IMPORTANT] +> +> After launching Docker Desktop for RHEL, you must sign in to your Docker account to start using Docker Desktop. + +> [!TIP] > > To attach Red Hat subscription data to containers, see [Red Hat verified solution](https://access.redhat.com/solutions/5870841). > diff --git a/content/manuals/desktop/install/linux/ubuntu.md b/content/manuals/desktop/install/linux/ubuntu.md index e4f4962384ed..4a2b7bc05519 100644 --- a/content/manuals/desktop/install/linux/ubuntu.md +++ b/content/manuals/desktop/install/linux/ubuntu.md @@ -27,11 +27,7 @@ This page contains information on how to install, launch and upgrade Docker Desk To install Docker Desktop successfully, you must: - Meet the [general system requirements](_index.md#general-system-requirements). -- Have a 64-bit version of either the LTS version Ubuntu Jammy Jellyfish 22.04, or the current non-LTS version. Docker Desktop is supported on `x86_64` (or `amd64`) architecture. - > [!NOTE] - > - > The latest Ubuntu 24.04 LTS is not yet supported. Docker Desktop will fail to start. Due to a change in how the latest Ubuntu release restricts the unprivileged namespaces, `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0` needs to be run at least once. Refer to the [Ubuntu Blog](https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces) for more details. - +- Have an x86-64 system with Ubuntu 22.04, 24.04, or the latest non-LTS version. - For non-Gnome Desktop environments, `gnome-terminal` must be installed: ```console $ sudo apt install gnome-terminal diff --git a/content/manuals/desktop/install/windows-install.md b/content/manuals/desktop/install/windows-install.md index 81b97be8e32d..d7e733e13479 100644 --- a/content/manuals/desktop/install/windows-install.md +++ b/content/manuals/desktop/install/windows-install.md @@ -46,10 +46,8 @@ _For checksums, see [Release notes](../release-notes.md)_ {{< tab name="WSL 2 backend, x86_64" >}} - WSL version 1.1.3.0 or later. -- Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2 or higher. -- Windows 10 64-bit: - - We recommend Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher. - - Minimum required is Home or Pro 21H2 (build 19044) or higher, or Enterprise or Education 21H2 (build 19044) or higher. +- Windows 11 64-bit: Home or Pro version 22H2 or higher, or Enterprise or Education version 22H2 or higher. +- Windows 10 64-bit: Minimum required is Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher. - Turn on the WSL 2 feature on Windows. For detailed instructions, refer to the [Microsoft documentation](https://docs.microsoft.com/en-us/windows/wsl/install-win10). - The following hardware prerequisites are required to successfully run @@ -73,10 +71,8 @@ For more information on setting up WSL 2 with Docker Desktop, see [WSL](../wsl/_ {{< /tab >}} {{< tab name="Hyper-V backend, x86_64" >}} -- Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2 or higher. -- Windows 10 64-bit: - - Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher is recommended. - - Minimum required is Home or Pro 21H2 (build 19044) or higher, or Enterprise or Education 21H2 (build 19044) or higher. +- Windows 11 64-bit: Home or Pro version 22H2 or higher, or Enterprise or Education version 22H2 or higher. +- Windows 10 64-bit: Minimum required is Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher. - Turn on Hyper-V and Containers Windows features. - The following hardware prerequisites are required to successfully run Client Hyper-V on Windows 10: @@ -100,10 +96,8 @@ For more information on setting up WSL 2 with Docker Desktop, see [WSL](../wsl/_ {{< tab name="WSL 2 backend, Arm (Beta)" >}} - WSL version 1.1.3.0 or later. -- Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2 or higher. -- Windows 10 64-bit: - - Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher is recommended. - - Minimum required is Home or Pro 21H2 (build 19044) or higher, or Enterprise or Education 21H2 (build 19044) or higher. +- Windows 11 64-bit: Home or Pro version 22H2 or higher, or Enterprise or Education version 22H2 or higher. +- Windows 10 64-bit: Minimum required is Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher. - Turn on the WSL 2 feature on Windows. For detailed instructions, refer to the [Microsoft documentation](https://docs.microsoft.com/en-us/windows/wsl/install-win10). - The following hardware prerequisites are required to successfully run diff --git a/content/manuals/desktop/release-notes.md b/content/manuals/desktop/release-notes.md index 2b30615ca6ca..f01b1a08aec9 100644 --- a/content/manuals/desktop/release-notes.md +++ b/content/manuals/desktop/release-notes.md @@ -23,6 +23,83 @@ Docker Desktop versions older than 6 months from the latest release are not avai Take a look at the [Docker Public Roadmap](https://github.com/orgs/docker/projects/51/views/1?filterQuery=) to see what's coming next. +## 4.35.0 + +{{< release-date date="2024-10-24" >}} + +{{< desktop-install-v2 all=true beta_win_arm=true version="4.35.0" build_path="/172508/" >}} + +### New + +- Support for [Docker Desktop on Red Hat Enterprise Linux](/manuals/desktop/install/linux/rhel.md) is now generally available. +- Volume Backup and Share is now generally available and can be found in the **Volumes** view. +- Terminal support within Docker Desktop using system shells is now generally available. +- containerd image store: + - Improved output of `docker image inspect` to account for multi-platform images. + - Support multi-platform images via enabling users to pick a specific platform in `docker history`. +- Beta release of Docker VMM - the more performant alternative to Apple Virtualization Framework on macOS (requires Apple Silicon and macOS 12.5 or later). + +### Upgrades + +- [containerd v1.7.21](https://github.com/containerd/containerd/releases/tag/v1.7.21) +- [Docker Buildx v0.17.1](https://github.com/docker/buildx/releases/tag/v0.17.1) +- [Docker Compose v2.29.7](https://github.com/docker/compose/releases/tag/v2.29.7) +- [Docker Engine v27.3.1](https://docs.docker.com/engine/release-notes/27.3/#2731) +- [Docker Scout CLI v1.14.0](https://github.com/docker/scout-cli/releases/tag/v1.14.0) +- Docker Debug `v0.0.37` +- Linux kernel `v6.10.9` + +### Bug fixes and enhancements + +#### For all platforms + +- Fixed a bug where proxy settings in `daemon.json` would override proxies set in Docker Desktop settings. +- Fixed a bug where some Docker subnet ranges were not able to be used. +- Removed [docker-index](https://github.com/docker/index-cli-plugin) as it is now deprecated, you can use `docker scout cves fs://` instead. +- Fixed a bug where images couldn't be sorted or filtered by tag. Fixes [docker/for-win#14297](https://github.com/docker/for-win/issues/14297). +- Fixed a bug where the `docker` CLI did not work as expected when the `registry.json` file was malformed. +- Fixed a bug where the **Push to Docker Hub** action in the **Images** view would result in an `invalid tag format` error. Fixes [docker/for-win#14258](https://github.com/docker/for-win/issues/14258). +- Fixed an issue where Docker Desktop startup failed when ICMPv6 setup was not successful. +- Added drivers that allow USB/IP to work. +- Fixed a bug in Enhanced Container Isolation (ECI) [Docker socket mount permissions for derived images](/manuals/security/for-admins/hardened-desktop/enhanced-container-isolation/config.md) where it was incorrectly denying Docker socket mounts for some images when Docker Desktop uses the containerd image store. +- Enable `NFT_NUMGEN`, `NFT_FIB_IPV4` and `NFT_FIB_IPV6` kernel modules. +- Build UI: + - Highlight build check warnings in the **Completed builds** list. + - Improve visualization for the build time charts. + - Image tags added to **Build results** section under the **Info** tab. +- Improved efficiency of host-side disk utilization for fresh installations on Mac and Linux. +- Fixed a bug that prevented the Sign in enforcement popup to be triggered when token expires. +- Fixed a bug where containers would not be displayed in the GUI immediately after signing in when using [enforced sign-in](/manuals/security/for-admins/enforce-sign-in/_index.md). +- `settings.json` has been renamed to `settings-store.json` + +#### For Mac + +- Fixed a bug where auto-start containers could be misconfigured after changing filesharing type in settings. +- Fixed a bug that would cause `~/.docker/cli-plugins` to not be populated on start-up. +- Fixed a bug that prevented php composer or postgres to start as non root user. Fixes [docker/for-mac#7415](https://github.com/docker/for-mac/issues/7415). +- Fixed a bug that could cause file changed on the host to appear truncated. Fixes [docker/for-mac#7438](https://github.com/docker/for-mac/issues/7438). + +#### For Windows + +- New installations of Docker Desktop for Windows now require a Windows version of 19045 or later. +- Fixed an issue that caused a start failure if IPv6 is disabled either in the kernel config or via the kernel command-line in WSL. Fixes [docker/for-win#14240](https://github.com/docker/for-win/issues/14240) +- Fixed the **Clean / Purge data** button on Windows. Fixes [docker/for-win#12650](https://github.com/docker/for-win/issues/14308). +- Disk usage statistics is now displayed in the Dashboard footer installations. +- Improved recovery for WSL distribution issues. + +#### For Linux + +- Ubuntu 24.04 is now supported on Docker Desktop. + +### Known issues + +#### For Mac +- Since version 4.34.0, the toggle "Allow privileged port mapping" in the Advanced settings does not work. For more information, see [docker/for-mac#7460](https://github.com/docker/for-mac/issues/7460). + +#### For Windows + +- Users with versions 4.14.0 and earlier could encounter issues using the in-app update. To update to the latest version, download and install the latest Docker Desktop from this page. + ## 4.34.3 {{< release-date date="2024-10-09" >}} diff --git a/content/manuals/desktop/settings.md b/content/manuals/desktop/settings.md index 732f8ee2570f..0a18c3ad90ce 100644 --- a/content/manuals/desktop/settings.md +++ b/content/manuals/desktop/settings.md @@ -16,10 +16,10 @@ To navigate to **Settings** either: - Select the Docker menu {{< inline-image src="images/whale-x.svg" alt="whale menu" >}} and then **Settings** - Select the **Settings** icon from the Docker Desktop Dashboard. -You can also locate the `settings.json` file at: - - Mac: `~/Library/Group Containers/group.com.docker/settings.json` - - Windows: `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json` - - Linux: `~/.docker/desktop/settings.json` +You can also locate the `settings-store.json` file (or `settings.json` for Docker Desktop versions 4.34 and earlier) at: + - Mac: `~/Library/Group Containers/group.com.docker/settings-store.json` + - Windows: `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json` + - Linux: `~/.docker/desktop/settings-store.json` ## General @@ -59,17 +59,19 @@ If you choose the integrated terminal, you can run commands in a running contain and the ability to run Wasm applications with Docker. For more information, see [containerd image store](containerd.md). -- {{< badge color=blue text="Mac only" >}} **Use Virtualization framework**. Select to allow Docker Desktop to use the `virtualization.framework` instead of the `hypervisor.framework`. +- {{< badge color=blue text="Mac only" >}} **Choose Virtual Machine Manager (VMM)**. Choose the Virtual Machine Manager for creating and managing the Docker Desktop Linux VM. + - Select **Docker VMM** for the latest and most performant Hypervisor/Virtual Machine Manager. This option is available only on Apple Silicon Macs running macOS 12.5 or later and is currently in Beta. > [!TIP] > > Turn this setting on to make Docker Desktop run faster. + - Alternatively, you can choose **Apple Virtualization framework**, **QEMU** (for Apple Silicon), or **HyperKit** (for Intel Macs). For macOS 12.5 and later, Apple Virtualization framework is the default setting. -- {{< badge color=blue text="Mac only" >}}**Choose file sharing implementation for your containers**. Choose whether you want to share files using **VirtioFS**, **gRPC FUSE**, or **osxfs (Legacy)**. VirtioFS is only available for macOS versions 12.5 and above, and is turned on by default. - >**Tip** +- {{< badge color=blue text="Mac only" >}}**Choose file sharing implementation for your containers**. Choose whether you want to share files using **VirtioFS**, **gRPC FUSE**, or **osxfs (Legacy)**. VirtioFS is only available for macOS 12.5 and later, and is turned on by default. + > [!TIP] > - > Use VirtioFS for speedy file sharing. VirtioFS has reduced the time taken to complete filesystem operations by [up to 98%](https://github.com/docker/roadmap/issues/7#issuecomment-1044452206) + > Use VirtioFS for speedy file sharing. VirtioFS has reduced the time taken to complete filesystem operations by [up to 98%](https://github.com/docker/roadmap/issues/7#issuecomment-1044452206). It is the only file sharing implementation supported by Docker VMM. -- {{< badge color=blue text="Mac only" >}}**Use Rosetta for x86_64/amd64 emulation on Apple Silicon**. Turns on Rosetta to accelerate x86/AMD64 binary emulation on Apple Silicon. This option is only available if you have turned on **Virtualization framework** in the **General** settings tab. You must also be on macOS 13 or later. +- {{< badge color=blue text="Mac only" >}}**Use Rosetta for x86_64/amd64 emulation on Apple Silicon**. Turns on Rosetta to accelerate x86/AMD64 binary emulation on Apple Silicon. This option is only available if you have selected **Apple Virtualization framework** as the Virtual Machine Manager. You must also be on macOS 13 or later. - **Send usage statistics**. Select so Docker Desktop sends diagnostics, crash reports, and usage data. This information helps Docker improve and @@ -258,8 +260,12 @@ The HTTPS proxy settings used for scanning images are set using the `HTTPS_PROXY > If you are using a PAC file hosted on a web server, make sure to add the MIME type `application/x-ns-proxy-autoconfig` for the `.pac` file extension on the server or website. Without this configuration, the PAC file may not be parsed correctly. > [!IMPORTANT] +> You cannot configure the proxy settings using the Docker daemon configuration +> file (`daemon.json`), and we recommend you do not configure the proxy +> settings via the Docker CLI configuration file (`config.json`). > -> You do not need to separately configure proxy settings for the Docker CLI or Docker daemon. +> To manage proxy configurations for Docker Desktop, configure the settings in +> the Docker Desktop app or use [Settings Management](/manuals/security/for-admins/hardened-desktop/settings-management/_index.md). #### Proxy authentication diff --git a/content/manuals/desktop/troubleshoot/topics.md b/content/manuals/desktop/troubleshoot/topics.md index e92534096f4c..40c611da64ea 100644 --- a/content/manuals/desktop/troubleshoot/topics.md +++ b/content/manuals/desktop/troubleshoot/topics.md @@ -42,13 +42,13 @@ Docker Desktop uses hardware-accelerated graphics by default, which may cause pr Docker Desktop will launch successfully, but some screens may appear green, distorted, or have some visual artifacts. -To work around this issue, disable hardware acceleration by creating a `"disableHardwareAcceleration": true` entry in Docker Desktop's `settings.json` file. You can find this file at: +To work around this issue, disable hardware acceleration by creating a `"disableHardwareAcceleration": true` entry in Docker Desktop's `settings-store.json` file (or `settings.json` for Docker Desktop versions 4.34 and earlier). You can find this file at: -- Mac: `~/Library/Group Containers/group.com.docker/settings.json` -- Windows: `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json` -- Linux: `~/.docker/desktop/settings.json.` +- Mac: `~/Library/Group Containers/group.com.docker/settings-store.json` +- Windows: `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json` +- Linux: `~/.docker/desktop/settings-store.json.` -After updating the `settings.json` file, close and restart Docker Desktop to apply the changes. +After updating the `settings-store.json` file, close and restart Docker Desktop to apply the changes. ## Topics for Linux and Mac @@ -109,7 +109,7 @@ in the Apple documentation, and Docker Desktop [Mac system requirements](../inst In Docker Desktop version 4.19, gVisor replaced VPNKit to enhance the performance of VM networking when using the Virtualization framework on macOS 13 and above. -To continue using VPNKit, add `"networkType":"vpnkit"` to your `settings.json` file located at `~/Library/Group Containers/group.com.docker/settings.json`. +To continue using VPNKit, add `"networkType":"vpnkit"` to your `settings-store.json` file located at `~/Library/Group Containers/group.com.docker/settings-store.json`. ## Topics for Windows diff --git a/content/manuals/desktop/use-desktop/images.md b/content/manuals/desktop/use-desktop/images.md index 27ddd9fadd80..7fbfe2c0c98a 100644 --- a/content/manuals/desktop/use-desktop/images.md +++ b/content/manuals/desktop/use-desktop/images.md @@ -95,7 +95,9 @@ When signed in, it shows you a list of images in Docker Hub organizations and re Select an organization from the drop-down to view a list of repositories for that organization. -If you have enabled [Docker Scout](../../scout/_index.md) on the repositories, image analysis results appear next to the image tags. +If you have enabled [Docker Scout](../../scout/_index.md) on the repositories, +image analysis results (and [health scores](/manuals/scout/policy/scores.md) if +your Docker organization is eligible) appear next to the image tags. Hovering over an image tag reveals two options: diff --git a/content/manuals/desktop/use-desktop/resource-saver.md b/content/manuals/desktop/use-desktop/resource-saver.md index 9dfea5575667..929163bf23e5 100644 --- a/content/manuals/desktop/use-desktop/resource-saver.md +++ b/content/manuals/desktop/use-desktop/resource-saver.md @@ -24,11 +24,11 @@ timer as shown below. If the values available aren't sufficient for your needs, you can reconfigure it to any value, as long as the value is larger than 30 seconds, by -changing `autoPauseTimeoutSeconds` in the Docker Desktop `settings.json` file: +changing `autoPauseTimeoutSeconds` in the Docker Desktop `settings-store.json` file (or `settings.json` for Docker Desktop versions 4.34 and earlier): - - Mac: `~/Library/Group Containers/group.com.docker/settings.json` - - Windows: `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json` - - Linux: `~/.docker/desktop/settings.json` + - Mac: `~/Library/Group Containers/group.com.docker/settings-store.json` + - Windows: `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json` + - Linux: `~/.docker/desktop/settings-store.json` There's no need to restart Docker Desktop after reconfiguring. diff --git a/content/manuals/engine/daemon/proxy.md b/content/manuals/engine/daemon/proxy.md index 2166665e9bdb..158feecf85ab 100644 --- a/content/manuals/engine/daemon/proxy.md +++ b/content/manuals/engine/daemon/proxy.md @@ -23,6 +23,11 @@ This page describes how to configure a proxy for the Docker daemon. For instructions on configuring proxy settings for the Docker CLI, see [Configure Docker CLI to use a proxy server](/manuals/engine/cli/proxy.md). +> [!IMPORTANT] +> Proxy configurations specified in the `daemon.json` are ignored by Docker +> Desktop. If you use Docker Desktop, you can configure proxies using the +> [Docker Desktop settings](/manuals/desktop/settings.md#proxies). + There are two ways you can configure these settings: - [Configuring the daemon](#daemon-configuration) through a configuration file or CLI flags diff --git a/content/manuals/engine/install/_index.md b/content/manuals/engine/install/_index.md index 7f69abfd7182..b67dbdef795d 100644 --- a/content/manuals/engine/install/_index.md +++ b/content/manuals/engine/install/_index.md @@ -49,13 +49,11 @@ through Docker Desktop. For instructions on how to install Docker Desktop, see: | [Debian](debian.md) | ✅ | ✅ | ✅ | ✅ | | | [Fedora](fedora.md) | ✅ | ✅ | | ✅ | | | [Raspberry Pi OS (32-bit)](raspberry-pi-os.md) | | | ✅ | | | -| [RHEL](rhel.md) | 🚧 | 🚧 | | | ✅ | +| [RHEL](rhel.md) | ✅ | ✅ | | | ✅ | | [SLES](sles.md) | | | | | ✅ | | [Ubuntu](ubuntu.md) | ✅ | ✅ | ✅ | ✅ | ✅ | | [Binaries](binaries.md) | ✅ | ✅ | ✅ | | | -🚧 = Experimental - ### Other Linux distros > [!NOTE] diff --git a/content/manuals/engine/install/rhel.md b/content/manuals/engine/install/rhel.md index 3928f85904e1..07a8fae23085 100644 --- a/content/manuals/engine/install/rhel.md +++ b/content/manuals/engine/install/rhel.md @@ -18,14 +18,6 @@ aliases: download-url-base: https://download.docker.com/linux/rhel --- -{{% experimental %}} -Support for Docker Engine on RHEL x86_64 and aarch64 is experimental. -{{% /experimental %}} - -{{% restricted title="Docker Desktop for Linux is also available for RHEL." %}} -To get access, join the [Early Access Program](https://www.docker.com/docker-desktop-preview-program/). -{{% /restricted %}} - To get started with Docker Engine on RHEL, make sure you [meet the prerequisites](#prerequisites), and then follow the [installation steps](#installation-methods). diff --git a/content/manuals/extensions/settings-feedback.md b/content/manuals/extensions/settings-feedback.md index d233d19e5d29..c430289f7ae6 100644 --- a/content/manuals/extensions/settings-feedback.md +++ b/content/manuals/extensions/settings-feedback.md @@ -21,10 +21,10 @@ Docker Extensions is switched on by default. To change your settings: >**Note** > -> If you are an [organization owner](/manuals/admin/organization/manage-a-team.md#organization-owner), you can turn off extensions for your users. Open the `settings.json` file, and set `"extensionsEnabled"` to `false`. -> The `settings.json` file is located at: -> - `~/Library/Group Containers/group.com.docker/settings.json` on Mac -> - `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json` on Windows +> If you are an [organization owner](/manuals/admin/organization/manage-a-team.md#organization-owner), you can turn off extensions for your users. Open the `settings-store.json` file, and set `"extensionsEnabled"` to `false`. +> The `settings-store.json` file (or `settings.json` for Docker Desktop versions 4.34 and earlier) is located at: +> - `~/Library/Group Containers/group.com.docker/settings-store.json` on Mac +> - `C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json` on Windows > > This can also be done with [Hardened Docker Desktop](/manuals/security/for-admins/hardened-desktop/_index.md) diff --git a/content/manuals/scout/explore/exceptions.md b/content/manuals/scout/explore/exceptions.md index f5d45cb03936..a654c20d3ac8 100644 --- a/content/manuals/scout/explore/exceptions.md +++ b/content/manuals/scout/explore/exceptions.md @@ -25,15 +25,14 @@ then that CVE is excluded from analysis results. To create an exception for an image, you can: - Create an exception in the [GUI](/manuals/scout/how-tos/create-exceptions-gui.md) of - Docker Scout Dashboard. - + Docker Scout Dashboard or Docker Desktop. - Create a [VEX](/manuals/scout/how-tos/create-exceptions-vex.md) document and attach it to the image. -The recommended way to create exceptions is to use Docker Scout Dashboard. The -GUI provides a user-friendly interface for creating exceptions. It also lets -you create exceptions for multiple images, or your entire organization, all at -once. +The recommended way to create exceptions is to use Docker Scout Dashboard or +Docker Desktop. The GUI provides a user-friendly interface for creating +exceptions. It also lets you create exceptions for multiple images, or your +entire organization, all at once. ## View exceptions @@ -46,7 +45,7 @@ To view exceptions for images, you need to have the appropriate permissions. are visible to anyone who can pull the image, since the VEX document is stored in the image manifest or on filesystem of the image. -### View exceptions in Docker Scout Dashboard +### View exceptions in Docker Scout Dashboard or Docker Desktop The [**Exceptions** tab](https://scout.docker.com/reports/vulnerabilities/exceptions) of the Vulnerabilities page in Docker Scout Dashboard lists all exceptions for @@ -59,10 +58,24 @@ selecting the action menu lets you edit or remove the exception. To view all exceptions for a specific image tag: +{{< tabs >}} +{{< tab name="Docker Scout Dashboard" >}} + 1. Go to the [Images page](https://scout.docker.com/reports/images). 2. Select the tag that you want to inspect. 3. Open the **Exceptions** tab. +{{< /tab >}} +{{< tab name="Docker Desktop" >}} + +1. Open the **Images** view in Docker Desktop. +2. Open the **Hub** tab. +3. Select the tag you want to inspect. +4. Open the **Exceptions** tab. + +{{< /tab >}} +{{< /tabs >}} + ### View exceptions in the CLI {{% experimental %}} diff --git a/content/manuals/scout/how-tos/create-exceptions-gui.md b/content/manuals/scout/how-tos/create-exceptions-gui.md index 8d80ab26fbbf..52567c7ef21d 100644 --- a/content/manuals/scout/how-tos/create-exceptions-gui.md +++ b/content/manuals/scout/how-tos/create-exceptions-gui.md @@ -1,24 +1,27 @@ --- title: Create an exception using the GUI -description: Create an exception for a vulnerability in an image using the Docker Scout Dashboard. -keywords: Docker, Docker Scout, vulnerability, exception, create, GUI +description: Create an exception for a vulnerability in an image using the Docker Scout Dashboard or Docker Desktop. +keywords: Docker, Docker Scout, Docker Desktop, vulnerability, exception, create, GUI --- -The Docker Scout Dashboard provides a user-friendly interface for creating -[exceptions](/manuals/scout/explore/exceptions.md) for vulnerabilities found in -container images. Exceptions let you acknowledge accepted risks or address -false positives in image analysis. +The Docker Scout Dashboard and Docker Desktop provide a user-friendly interface +for creating [exceptions](/manuals/scout/explore/exceptions.md) for +vulnerabilities found in container images. Exceptions let you acknowledge +accepted risks or address false positives in image analysis. ## Prerequisites -To create an in the Docker Scout Dashboard, you need a Docker account with -**Editor** or **Owner** permissions for the Docker organization that owns the -image. +To create an in the Docker Scout Dashboard or Docker Desktop, you need a Docker +account with **Editor** or **Owner** permissions for the Docker organization +that owns the image. ## Steps To create an exception for a vulnerability in an image using the Docker Scout -Dashboard: +Dashboard or Docker Desktop: + +{{< tabs >}} +{{< tab name="Docker Scout Dashboard" >}} 1. Go to the [Images page](https://scout.docker.com/reports/images). 2. Select the image tag that contains the vulnerability you want to create an @@ -76,3 +79,21 @@ tab of the [Vulnerabilities page](https://scout.docker.com/reports/vulnerabiliti in the Docker Scout Dashboard. {{% /create_panel.inline %}} + +{{< /tab >}} +{{< tab name="Docker Desktop" >}} + +1. Open the **Images** view in Docker Desktop. +2. Open the **Hub** tab. +3. Select the image tag that contains the vulnerability you want to create an + exception for. +4. Select the layer that contains the vulnerability you want to create an + exception for. +5. In the **Vulnerabilities** tab, find the vulnerability you want to create an + exception for. +6. Select the **Create exception** button next to the vulnerability. + +{{% create_panel.inline / %}} + +{{< /tab >}} +{{< /tabs >}} diff --git a/content/manuals/scout/images/score-badges-dd.png b/content/manuals/scout/images/score-badges-dd.png new file mode 100644 index 000000000000..f33374c1ec93 Binary files /dev/null and b/content/manuals/scout/images/score-badges-dd.png differ diff --git a/content/manuals/scout/policy/scores.md b/content/manuals/scout/policy/scores.md index ae748c0253a0..cb6de2a4cb75 100644 --- a/content/manuals/scout/policy/scores.md +++ b/content/manuals/scout/policy/scores.md @@ -25,7 +25,10 @@ score is not visible to users outside the organization or members without ## Viewing health scores -To view the health score of an image: +{{< tabs >}} +{{< tab name="Docker Hub" >}} + +To view the health score of an image in Docker Hub: 1. Go to Docker Hub and sign in. 2. Navigate to your organization's page. @@ -35,6 +38,22 @@ based on the latest pushed tag. ![Repository health score](../images/score-badges-repolist.png) +{{< /tab >}} +{{< tab name="Docker Desktop" >}} + +To view the health score of an image in Docker Desktop: + +1. Open Docker Desktop and sign in to your Docker account. +2. Navigate to the **Images** view and select the **Hub** tab. + +In the list of repositories, the **Health** column displays the scores of the +different tags that have been pushed to Docker Hub. + +![Repository health score](../images/score-badges-dd.png) + +{{< /tab >}} +{{< /tabs >}} + The health score badge is color-coded to indicate the overall health of the repository: diff --git a/content/manuals/security/for-admins/hardened-desktop/settings-management/_index.md b/content/manuals/security/for-admins/hardened-desktop/settings-management/_index.md index 65f45d4984cb..03cd8324bf10 100644 --- a/content/manuals/security/for-admins/hardened-desktop/settings-management/_index.md +++ b/content/manuals/security/for-admins/hardened-desktop/settings-management/_index.md @@ -76,7 +76,7 @@ Docker doesn't automatically mandate that developers re-launch and re-authentica ### What do developers see when the settings are enforced? -Any settings that are enforced, are grayed out in Docker Desktop and the user is unable to edit them, either via the Docker Desktop UI, CLI, or the `settings.json` file. In addition, if Enhanced Container Isolation is enforced, developers can't use privileged containers or similar techniques to modify enforced settings within the Docker Desktop Linux VM, for example, reconfigure proxy and networking of reconfigure Docker Engine. +Any settings that are enforced, are grayed out in Docker Desktop and the user is unable to edit them, either via the Docker Desktop UI, CLI, or the `settings-store.json` file (or `settings.json` for Docker Desktop versions 4.34 and earlier). In addition, if Enhanced Container Isolation is enforced, developers can't use privileged containers or similar techniques to modify enforced settings within the Docker Desktop Linux VM, for example, reconfigure proxy and networking of reconfigure Docker Engine. ![Proxy settings grayed out](/assets/images/grayed-setting.png) diff --git a/content/manuals/security/for-admins/hardened-desktop/settings-management/configure.md b/content/manuals/security/for-admins/hardened-desktop/settings-management/configure.md index ad5feca71ca5..01e34698c583 100644 --- a/content/manuals/security/for-admins/hardened-desktop/settings-management/configure.md +++ b/content/manuals/security/for-admins/hardened-desktop/settings-management/configure.md @@ -59,7 +59,7 @@ If `locked: true`, users aren't able to edit this setting from Docker Desktop or If `locked: false`, it's similar to setting a factory default in that: - For new installs, `locked: false` pre-populates the relevant settings in the Docker Desktop UI, but users are able to modify it. -- If Docker Desktop is already installed and being used, `locked: false` is ignored. This is because existing users of Docker Desktop may have already updated a setting, which in turn will have been written to the relevant config file, for example the `settings.json` or `daemon.json`. In these instances, the user's preferences are respected and we don't alter these values. These can be controlled by the admin by setting `locked: true`. +- If Docker Desktop is already installed and being used, `locked: false` is ignored. This is because existing users of Docker Desktop may have already updated a setting, which in turn will have been written to the relevant config file, for example the `settings-store.json` (or `settings.json` for Docker Desktop versions 4.34 and earlier) or `daemon.json`. In these instances, the user's preferences are respected and we don't alter these values. These can be controlled by the admin by setting `locked: true`. The following `admin-settings.json` code and table provides an example of the required syntax and descriptions for parameters and values: diff --git a/hugo_stats.json b/hugo_stats.json index ff59b548403a..6e834ec7466c 100644 --- a/hugo_stats.json +++ b/hugo_stats.json @@ -413,6 +413,7 @@ "outline-none", "overflow-clip", "overflow-hidden", + "overflow-x-auto", "overflow-x-hidden", "overflow-y-auto", "p-1", diff --git a/layouts/_default/_markup/render-table.html b/layouts/_default/_markup/render-table.html new file mode 100644 index 000000000000..1a32125cc1cb --- /dev/null +++ b/layouts/_default/_markup/render-table.html @@ -0,0 +1,39 @@ +
+ + + {{- range .THead }} + + {{- range . }} + + {{- end }} + + {{- end }} + + + {{- range .TBody }} + + {{- range . }} + + {{- end }} + + {{- end }} + +
+ {{- .Text -}} +
+ {{- .Text -}} +
+
diff --git a/layouts/_default/cli.html b/layouts/_default/cli.html index 347cce40997e..58c99c2c2c9d 100644 --- a/layouts/_default/cli.html +++ b/layouts/_default/cli.html @@ -11,38 +11,40 @@
{{ partial "breadcrumbs.html" . }}

{{ .Title }}

- - - {{ with $data.short }} - - - - {{ end }} - {{ with $data.usage }} - - - - - {{ end }} - {{ with $data.aliases }} - {{ $aliases := strings.Replace . (fmt.Printf "%s, " page.Title) "" }} - - - - - {{ end }} - -
Description{{ . }} -
Usage{{ . }}
- Aliases - {{ partialCached "tooltip.html" "An alias is a short or memorable alternative for a longer command." "cli-alias" }} - -
- {{ range (strings.Split $aliases ", ") }} - {{ . }} - {{ end }} -
-
+
+ + + {{ with $data.short }} + + + + {{ end }} + {{ with $data.usage }} + + + + + {{ end }} + {{ with $data.aliases }} + {{ $aliases := strings.Replace . (fmt.Printf "%s, " page.Title) "" }} + + + + + {{ end }} + +
Description{{ . }} +
Usage{{ . }}
+ Aliases + {{ partialCached "tooltip.html" "An alias is a short or memorable alternative for a longer command." "cli-alias" }} + +
+ {{ range (strings.Split $aliases ", ") }} + {{ . }} + {{ end }} +
+
+
{{ .Content }} {{ if $data.deprecated }} {{ markdownify ` @@ -96,62 +98,64 @@

{{ .Title }}

{{ $heading := dict "level" 2 "text" "Options" }} {{ partialCached "heading.html" $heading "cli-options" }} {{ $.Scratch.Add "headings" $heading }} - - - - - - - - - - {{ range . }} +
+
OptionDefaultDescription
+ - {{ $short := .shorthand }} - {{ $long := .option }} - - {{ $skipDefault := `[],map[],false,0,0s,default,'',""` }} - - + + + - {{ end }} - -
- {{ with .details_url }} - - {{ with $short }}-{{ . }}, {{end}}--{{ $long }} - - {{ else }} - {{ with $short }}-{{ . }}, {{end}}--{{ $long }} - {{ end }} - - {{ with .default_value }} - {{ cond (in $skipDefault .) "" (printf "%s" . | safeHTML) }} - {{ end }} - - {{ with .min_api_version }} - {{ partialCached "components/badge.html" (dict "color" "blue" "content" (printf "API %s+" .)) "api" . }} - {{ end }} - {{ with .deprecated }} - {{ partialCached "components/badge.html" (dict "color" "red" "content" "Deprecated") "deprecated" }} - {{ end }} - {{ with .experimental }} - {{ partialCached "components/badge.html" (dict "color" "amber" "content" "experimental (daemon)") "exp" }} - {{ end }} - {{ with .experimentalcli }} - {{ partialCached "components/badge.html" (dict "color" "amber" "content" "experimental (CLI)") "exp-cli" }} - {{ end }} - {{ with .kubernetes }} - {{ partialCached "components/badge.html" (dict "color" "blue" "content" "Kubernetes") "k8s" }} - {{ end }} - {{ with .swarm }} - {{ partialCached "components/badge.html" (dict "color" "blue" "content" "Swarm") "swarm" }} - {{ end }} - {{ if .description }} - {{/* replace newlines in long desc with break tags */}} - {{ markdownify (strings.Replace .description "\n" "
") }} - {{ end }} -
OptionDefaultDescription
+ + + {{ range . }} + + {{ $short := .shorthand }} + {{ $long := .option }} + + {{ with .details_url }} + + {{ with $short }}-{{ . }}, {{end}}--{{ $long }} + + {{ else }} + {{ with $short }}-{{ . }}, {{end}}--{{ $long }} + {{ end }} + + {{ $skipDefault := `[],map[],false,0,0s,default,'',""` }} + + {{ with .default_value }} + {{ cond (in $skipDefault .) "" (printf "%s" . | safeHTML) }} + {{ end }} + + + {{ with .min_api_version }} + {{ partialCached "components/badge.html" (dict "color" "blue" "content" (printf "API %s+" .)) "api" . }} + {{ end }} + {{ with .deprecated }} + {{ partialCached "components/badge.html" (dict "color" "red" "content" "Deprecated") "deprecated" }} + {{ end }} + {{ with .experimental }} + {{ partialCached "components/badge.html" (dict "color" "amber" "content" "experimental (daemon)") "exp" }} + {{ end }} + {{ with .experimentalcli }} + {{ partialCached "components/badge.html" (dict "color" "amber" "content" "experimental (CLI)") "exp-cli" }} + {{ end }} + {{ with .kubernetes }} + {{ partialCached "components/badge.html" (dict "color" "blue" "content" "Kubernetes") "k8s" }} + {{ end }} + {{ with .swarm }} + {{ partialCached "components/badge.html" (dict "color" "blue" "content" "Swarm") "swarm" }} + {{ end }} + {{ if .description }} + {{/* replace newlines in long desc with break tags */}} + {{ markdownify (strings.Replace .description "\n" "
") }} + {{ end }} + + + {{ end }} + + + {{ end }} {{ end }} {{ with $data.examples }} diff --git a/tailwind.config.js b/tailwind.config.js index 9a9a8472712e..b02e5903a22b 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -39,7 +39,7 @@ module.exports = { "--tw-prose-invert-hr": theme("colors.divider.dark"), "--tw-prose-invert-captions": theme("colors.gray.dark.600"), "--tw-prose-invert-th-borders": theme("colors.gray.dark.200"), - "--tw-prose-invert-td-borders": theme("colors.gray.dark.200"), + "--tw-prose-invert-td-borders": theme("colors.gray.dark.300"), }, }, }),