Skip to content

Commit

Permalink
edits
Browse files Browse the repository at this point in the history
  • Loading branch information
aevesdocker committed Feb 28, 2025
1 parent f86de3c commit 1c3950f
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,11 @@ and `/etc/subgid` (see `subgid(5)`) must be present. Docker Desktop only
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

View workflow job for this annotation

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) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,12 @@ aliases:

{{< 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
Expand All @@ -27,7 +25,7 @@ aliases:
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:
Expand All @@ -36,38 +34,18 @@ aliases:
$ 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

View workflow job for this annotation

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
Expand Up @@ -205,7 +205,7 @@ in the Apple documentation, and Docker Desktop [Mac system requirements](/manual

#### 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

View workflow job for this annotation

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

View workflow job for this annotation

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

Expand Down Expand Up @@ -308,7 +308,7 @@ $ docker run --rm -ti -v /c/Users/user/work:/work alpine ls /work

### Issue: Docker commands failing in Git Bash

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

```console
$ docker run --rm -ti -v C:\Users\user\work:/work alpine
Expand Down Expand Up @@ -399,7 +399,7 @@ To turn on nested virtualization, see [Run Docker Desktop for Windows in a VM or

##### 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:
Expand Down

0 comments on commit 1c3950f

Please sign in to comment.