Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENGDOCS-2451 #22117

Merged
merged 8 commits into from
Mar 6, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
edits
  • Loading branch information
aevesdocker committed Feb 28, 2025
commit 1c3950f586ef19fbb6211d32c927d14368643859
Original file line number Diff line number Diff line change
@@ -58,7 +58,7 @@ For details, see [Docker Engine API](/reference/api/engine/_index.md).
### How do I connect from a container to a service on the host?

The host has a changing IP address, or none if you have no network access.
We recommend that you connect to the special DNS name `host.docker.internal`,
It is recommend that you connect to the special DNS name `host.docker.internal`,
which resolves to the internal IP address used by the host.

For more information and examples, see [how to connect from a container to a service on the host](/manuals/desktop/features/networking.md#i-want-to-connect-from-a-container-to-a-service-on-the-host).
Original file line number Diff line number Diff line change
@@ -55,11 +55,11 @@
supports subordinate ID delegation configured via files. Docker Desktop maps the
current user ID and GID to 0 in the containers. It uses the first entry
corresponding to the current user in `/etc/subuid` and `/etc/subgid` to set up
mappings for IDs above 0 in the containers.
mappings for IDs greater than 0 in the containers.

| ID in container | ID on host |
| --------------- | -------------------------------------------------------------------------------- |
| 0 (root) | ID of the user running DD (e.g. 1000) |
| 0 (root) | ID of the user running Docker Desktop (e.g. 1000) |

Check warning on line 62 in content/manuals/desktop/troubleshoot-and-support/faqs/linuxfaqs.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'for example' instead of 'e.g.' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'for example' instead of 'e.g.'", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/faqs/linuxfaqs.md", "range": {"start": {"line": 62, "column": 60}}}, "severity": "INFO"}
| 1 | 0 + beginning of ID range specified in `/etc/subuid`/`/etc/subgid` (e.g. 100000) |
| 2 | 1 + beginning of ID range specified in `/etc/subuid`/`/etc/subgid` (e.g. 100001) |
| 3 | 2 + beginning of ID range specified in `/etc/subuid`/`/etc/subgid` (e.g. 100002) |
Original file line number Diff line number Diff line change
@@ -15,12 +15,12 @@ weight: 20

HyperKit is a hypervisor built on top of the Hypervisor.framework in macOS. It runs entirely in userspace and has no other dependencies.

We use HyperKit to eliminate the need for other VM products, such as Oracle
VirtualBox or VMWare Fusion.
Docker uses HyperKit to eliminate the need for other VM products, such as Oracle
VirtualBox or VMware Fusion.

### What is the benefit of HyperKit?

HyperKit is thinner than VirtualBox and VMWare fusion, and the version included is customized for Docker workloads on Mac.
HyperKit is thinner than VirtualBox and VMware fusion, and the version included is customized for Docker workloads on Mac.

### Where does Docker Desktop store Linux containers and images?

Original file line number Diff line number Diff line change
@@ -10,14 +10,12 @@

{{< tabs >}}
{{< tab name="For Mac with Intel chip" >}}
* The Mac Activity Monitor reports that Docker is using twice the amount of memory it's actually using. This is due to a bug in MacOS. We have written [a detailed report](https://docs.google.com/document/d/17ZiQC1Tp9iH320K-uqVLyiJmk4DHJ3c4zgQetJiKYQM/edit?usp=sharing) on this.
- The Mac Activity Monitor reports that Docker is using twice the amount of memory it's actually using. This is due to a [bug in macOS].(https://docs.google.com/document/d/17ZiQC1Tp9iH320K-uqVLyiJmk4DHJ3c4zgQetJiKYQM/edit?usp=sharing) on this.

* Force-ejecting the `.dmg` after running `Docker.app` from it can cause the
whale icon to become unresponsive, Docker tasks to show as not responding in
the Activity Monitor, and for some processes to consume a large amount of CPU
resources. Reboot and restart Docker to resolve these issues.
- Force-ejecting the `.dmg` after running `Docker.app` from it can cause the
whale icon to become unresponsive, Docker tasks to show as not responding in the Activity Monitor, and for some processes to consume a large amount of CPU resources. Reboot and restart Docker to resolve these issues.

* Docker Desktop uses the `HyperKit` hypervisor
- Docker Desktop uses the `HyperKit` hypervisor
(https://github.com/docker/hyperkit) in macOS 10.10 Yosemite and higher. If
you are developing with tools that have conflicts with `HyperKit`, such as
[Intel Hardware Accelerated Execution Manager
@@ -27,7 +25,7 @@
This allows you to continue work with the other tools and prevent `HyperKit`
from interfering.

* If you are working with applications like [Apache
- If you are working with applications like [Apache
Maven](https://maven.apache.org/) that expect settings for `DOCKER_HOST` and
`DOCKER_CERT_PATH` environment variables, specify these to connect to Docker
instances through Unix sockets. For example:
@@ -36,38 +34,18 @@
$ export DOCKER_HOST=unix:///var/run/docker.sock
```

* There are a number of issues with the performance of directories bind-mounted
into containers. In particular, writes of small blocks, and traversals of large
directories are currently slow. Additionally, containers that perform large
numbers of directory operations, such as repeated scans of large directory
trees, may suffer from poor performance. Applications that behave in this way
include:

- `rake`
- `ember build`
- Symfony
- Magento
- Zend Framework
- PHP applications that use [Composer](https://getcomposer.org) to install
dependencies in a `vendor` folder

As a workaround for this behavior, you can put vendor or third-party library
directories in Docker volumes, perform temporary file system operations
outside of bind mounts, and use third-party tools like Unison or `rsync` to
synchronize between container directories and bind-mounted directories. We are
actively working on performance improvements using a number of different
techniques. To learn more, see the [topic on our roadmap](https://github.com/docker/roadmap/issues/7).
{{< /tab >}}
{{< tab name="For Mac with Apple silicon" >}}
- On Apple silicon in native `arm64` containers, older versions of `libssl` such as `debian:buster`, `ubuntu:20.04`, and `centos:8` will segfault when connected to some TLS servers, for example, `curl https://dl.yarnpkg.com`. The bug is fixed in newer versions of `libssl` in `debian:bullseye`, `ubuntu:21.04`, and `fedora:35`.

- Some command line tools do not work when Rosetta 2 is not installed.
- The old version 1.x of `docker-compose`. Use Compose V2 instead - type `docker compose`.
- The `docker-credential-ecr-login` credential helper.
- Some images do not support the ARM64 architecture. You can add `--platform linux/amd64` to run (or build) an Intel image using emulation.

However, attempts to run Intel-based containers on Apple silicon machines under emulation can crash as qemu sometimes fails to run the container. In addition, filesystem change notification APIs (`inotify`) do not work under qemu emulation. Even when the containers do run correctly under emulation, they will be slower and use more memory than the native equivalent.
However, attempts to run Intel-based containers on Apple silicon machines under emulation can crash as QEMU sometimes fails to run the container. In addition, filesystem change notification APIs (`inotify`) do not work under QEMU emulation. Even when the containers do run correctly under emulation, they will be slower and use more memory than the native equivalent.

In summary, running Intel-based containers on Arm-based machines should be regarded as "best effort" only. We recommend running arm64 containers on Apple silicon machines whenever possible, and encouraging container authors to produce arm64, or multi-arch, versions of their containers. This issue should become less common over time, as more and more images are rebuilt [supporting multiple architectures](https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/).
In summary, running Intel-based containers on Arm-based machines should be regarded as "best effort" only. We recommend running `arm64` containers on Apple silicon machines whenever possible, and encouraging container authors to produce `arm64`, or multi-arch, versions of their containers. This issue should become less common over time, as more and more images are rebuilt [supporting multiple architectures](https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/).

Check warning on line 47 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/known-issues.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.We] Avoid using first-person plural like 'We'. Raw Output: {"message": "[Docker.We] Avoid using first-person plural like 'We'.", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/known-issues.md", "range": {"start": {"line": 47, "column": 111}}}, "severity": "WARNING"}
- Users may occasionally experience data drop when a TCP stream is half-closed.

{{< /tab >}}
{{< /tabs >}}
Original file line number Diff line number Diff line change
@@ -49,7 +49,7 @@
- If your registry is self-signed, configure Docker to trust the certificate by adding it to Docker’s certificates directory (/etc/docker/certs.d/ on Linux).
- If the issue persists, check your Docker daemon configuration and enable TLS authentication.

### Issue: Docker Desktop's UI appears green, distorted, or has visual artifacts

Check warning on line 52 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 52, "column": 5}}}, "severity": "INFO"}

Check warning on line 52 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'UI' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'UI' has no definition.", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 52, "column": 29}}}, "severity": "WARNING"}

#### Cause

@@ -73,7 +73,7 @@

3. Save the file and restart Docker Desktop.

### Issue: Using mounted volumes and getting runtime errors indicating an application file is not found, access to a volume mount is denied, or a service cannot start

Check warning on line 76 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 76, "column": 5}}}, "severity": "INFO"}

#### Cause

@@ -124,7 +124,7 @@

## Topics for Linux and Mac

### Issue: Docker Desktop fails to start on Mac or Linux platforms

Check warning on line 127 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 127, "column": 5}}}, "severity": "INFO"}

#### Error message

@@ -156,7 +156,7 @@

## Topics for Mac

### Issue: Persistent notification telling me an application has changed my Desktop configurations

Check warning on line 159 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 159, "column": 5}}}, "severity": "INFO"}

#### Cause

@@ -170,7 +170,7 @@

If you want to switch off Configuration integrity check notifications, navigate to Docker Desktop's settings and in the **General** tab, clear the **Automatically check configuration** setting.

### Issue: `com.docker.vmnetd` is still running after I quit the app

Check warning on line 173 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 173, "column": 5}}}, "severity": "INFO"}

The privileged helper process `com.docker.vmnetd` is started by `launchd` and
runs in the background. The process does not consume any resources unless
@@ -201,15 +201,15 @@
Reference](https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/)
in the Apple documentation, and Docker Desktop [Mac system requirements](/manuals/desktop/setup/install/mac-install.md#system-requirements).

### Issue: VPNKit keeps breaking

Check failure on line 204 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'vpnkit' instead of 'VPNKit'. Raw Output: {"message": "[Vale.Terms] Use 'vpnkit' instead of 'VPNKit'.", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 204, "column": 12}}}, "severity": "ERROR"}

#### Cause

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.
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 later.

Check failure on line 208 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'gVisor'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'gVisor'?", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 208, "column": 33}}}, "severity": "ERROR"}

Check failure on line 208 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'vpnkit' instead of 'VPNKit'. Raw Output: {"message": "[Vale.Terms] Use 'vpnkit' instead of 'VPNKit'.", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 208, "column": 49}}}, "severity": "ERROR"}

#### Solution

To continue using VPNKit:

Check failure on line 212 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'vpnkit' instead of 'VPNKit'. Raw Output: {"message": "[Vale.Terms] Use 'vpnkit' instead of 'VPNKit'.", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 212, "column": 19}}}, "severity": "ERROR"}

1. Open your `settings-store.json` file located at `~/Library/Group Containers/group.com.docker/settings-store.json`
2. Add:
@@ -221,7 +221,7 @@

## Topics for Windows

### Issue: Docker Desktop fails to start when anti-virus software is installed

Check warning on line 224 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 224, "column": 5}}}, "severity": "INFO"}

#### Cause

@@ -235,7 +235,7 @@
For a temporary workaround, uninstall the anti-virus software, or
add Docker to the exclusions/exceptions in your antivirus software.

### Issue: Permissions errors on data directories for shared volumes

Check warning on line 238 in content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/desktop/troubleshoot-and-support/troubleshoot/topics.md", "range": {"start": {"line": 238, "column": 5}}}, "severity": "INFO"}

#### Cause

@@ -308,7 +308,7 @@

### Issue: Docker commands failing in Git Bash

#### Error message:
#### Error message

```console
$ docker run --rm -ti -v C:\Users\user\work:/work alpine
@@ -399,7 +399,7 @@

##### Hypervisor enabled at Windows startup

If you have completed the steps described above and are still experiencing
If you have completed the previous steps and are still experiencing
Docker Desktop startup issues, this could be because the Hypervisor is installed,
but not launched during Windows startup. Some tools (such as older versions of
Virtual Box) and video game installers turn off hypervisor on boot. To turn it back on:
Loading
Oops, something went wrong.