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