已知问题



  • 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_HOSTDOCKER_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容器、旧版本libssldebian:buster,ubuntu:20.04centos:8在连接到某些 TLS 服务器时将出现段错误,例如curl https://dl.yarnpkg.com.该错误已在较新版本的libssldebian:bullseye,ubuntu:21.04fedora:35.

  • 未安装 Rosetta 2 时,某些命令行工具不起作用。

    • 旧版本 1.xdocker-compose.请改用 Compose V2 - 键入docker compose.
    • docker-credential-ecr-login凭证帮助程序。
  • 某些镜像不支持 ARM64 体系结构。您可以添加--platform linux/amd64使用仿真运行(或构建)Intel 镜像。

    但是,尝试在仿真的 Apple Silicon 计算机上运行基于 Intel 的容器可能会崩溃,因为 qemu 有时无法运行容器。此外,文件系统更改通知 API (inotify) 在 QEMU 仿真下不起作用。即使容器在仿真下正常运行,它们也会比本机等效容器更慢,并且使用的内存更多。

    总之,在基于 Arm 的机器上运行基于 Intel 的容器应仅被视为 “尽力而为”。我们建议尽可能在 Apple Silicon 计算机上运行 arm64 容器,并鼓励容器作者生成其容器的 arm64 或多架构版本。随着时间的推移,这个问题应该会变得不那么常见,因为越来越多的镜像被重新构建以支持多种架构

  • ping从容器内部到 Internet 无法按预期工作。要测试网络,请使用curlwget.请参阅 docker/for-mac#5322

  • 当 TCP 流半关闭时,用户可能偶尔会遇到数据丢失的情况。