已知问题
- Docker Desktop 尚不支持 IPv6。
Mac 活动监视器报告 Docker 使用的内存量是其实际使用的内存量的两倍。这是由于 MacOS 中的一个错误。我们已经就此写了一份详细的报告。
从中强行弹出 after running 可能会导致 鲸鱼图标变得无响应,Docker 任务显示为无响应 活动监视器,并且某些进程会消耗大量 CPU 资源。重新启动并重新启动 Docker 以解决这些问题。
.dmg
Docker.app
Docker 在登录后不会自动启动,即使在 Settings 中启用也是如此。这与 Docker 帮助程序、注册和版本控制的一系列问题有关。
Docker Desktop 使用虚拟机管理程序 ( https://github.com/docker/hyperkit) 在 macOS 10.10 Yosemite 及更高版本中。如果 您正在使用 与 冲突的工具进行开发,例如 Intel Hardware Accelerated Execution Manager (HAXM)、 当前的解决方法是不要同时运行它们。在使用 HAXM 时,您可以通过暂时退出 Docker Desktop 来暂停。 这使您可以继续使用其他工具并防止干扰。
HyperKit
HyperKit
HyperKit
HyperKit
如果您正在使用 Apache 等应用程序 需要设置和环境变量的 Maven,请指定这些以连接到 Docker 实例。例如:
DOCKER_HOST
DOCKER_CERT_PATH
$ export DOCKER_HOST=unix:///var/run/docker.sock
绑定挂载的目录的性能存在许多问题 放入容器中。特别是,小块的写入和大 目录当前运行缓慢。此外,执行大型 目录操作数,例如重复扫描大型目录 树木,可能会表现不佳。以这种方式运行的应用程序 包括:
rake
ember build
- Symfony 餐厅
- Magento
- Zend 框架
- 使用 Composer 安装的 PHP 应用程序
文件夹中的依赖项
vendor
作为此行为的解决方法,您可以将 vendor 或第三方库 目录中的 Docker 卷中,执行临时文件系统操作 在绑定挂载之外,并使用 Unison 或 在容器目录和绑定挂载目录之间同步。我们是 使用许多不同的 技术。要了解更多信息,请参阅我们路线图上的主题。
rsync
在本机容器中的 Apple Silicon 上,旧版本(如 、 和 )在连接到某些 TLS 服务器(例如 .该 bug 已在 、 和 的较新版本中修复。
arm64
libssl
debian:buster
ubuntu:20.04
centos:8
curl https://dl.yarnpkg.com
libssl
debian:bullseye
ubuntu:21.04
fedora:35
未安装 Rosetta 2 时,某些命令行工具不起作用。
- 的旧版本 1.x 。请改用 Compose V2 - 键入 。
docker-compose
docker compose
- 凭据帮助程序。
docker-credential-ecr-login
- 的旧版本 1.x 。请改用 Compose V2 - 键入 。
某些镜像不支持 ARM64 体系结构。您可以使用仿真添加以运行 (或构建) Intel 镜像。
--platform linux/amd64
但是,尝试在仿真的 Apple Silicon 计算机上运行基于 Intel 的容器可能会崩溃,因为 qemu 有时无法运行容器。此外,文件系统更改通知 API () 在 qemu 仿真下不起作用。即使容器在仿真下正常运行,它们也会比本机等效容器更慢,并且使用的内存更多。
inotify
总之,在基于 Arm 的机器上运行基于 Intel 的容器应仅被视为 “尽力而为”。我们建议尽可能在 Apple Silicon 计算机上运行 arm64 容器,并鼓励容器作者生成其容器的 arm64 或多架构版本。随着时间的推移,这个问题应该会变得不那么常见,因为越来越多的镜像被重新构建以支持多种架构。
ping
从容器内部到 Internet 无法按预期工作。要测试网络,请使用 或 。请参阅 docker/for-mac#5322。curl
wget
当 TCP 流半关闭时,用户可能偶尔会遇到数据丢失的情况。