已知問題



  • Docker Desktop 目前不支援 IPv6。
  • Mac 的「活動監視器」回報 Docker 使用的記憶體量是實際使用量的兩倍。這是 MacOS 的錯誤所導致。我們已針對此問題撰寫 詳細報告

  • .dmg 執行 Docker.app 後強制退出 .dmg,可能會導致鯨魚圖示沒有回應、Docker 工作在「活動監視器」中顯示沒有回應,以及某些程序佔用大量 CPU 資源。請重新開機並重新啟動 Docker 以解決這些問題。

  • 即使在「設定」中啟用,Docker 在登入後也不會自動啟動。這與 Docker helper、註冊和版本控制的一系列問題有關。

  • Docker Desktop 在 macOS 10.10 Yosemite 和更高版本中使用 HyperKit 虛擬機監視器 ( https://github.com/docker/hyperkit)。如果您正在開發與 HyperKit 衝突的工具,例如 Intel 硬體加速執行管理器 (HAXM),目前的解決方法是不要同時執行它們。您可以在使用 HAXM 時暫時關閉 Docker Desktop 來暫停 HyperKit。這讓您可以繼續使用其他工具,並防止 HyperKit 造成干擾。

  • 如果您正在使用需要設定 DOCKER_HOSTDOCKER_CERT_PATH 環境變數的應用程式,例如 Apache Maven,請指定這些變數以透過 Unix sockets 連線到 Docker 執行個體。例如:

    $ export DOCKER_HOST=unix:///var/run/docker.sock
    
  • 目錄綁定到容器的效能存在許多問題。尤其是,目前小型區塊的寫入和大目錄的遍歷速度很慢。此外,執行大量目錄操作的容器(例如重複掃描大型目錄樹)可能會效能不佳。這種行為的應用程式包括:

    • rake
    • ember build
    • Symfony
    • Magento
    • Zend Framework
    • 使用 Composervendor 資料夾中安裝依賴項的 PHP 應用程式

    要解決此行為,您可以將供應商或第三方程式庫目錄放在 Docker 磁碟區中,在繫結掛載外部執行暫時性檔案系統操作,並使用 Unison 或 rsync 等第三方工具在容器目錄和繫結掛載目錄之間同步。我們正積極使用多種不同技術來提升效能。如需深入瞭解,請參閱我們路線圖上的主題

  • 在原生 arm64 容器中的 Apple 晶片上,較舊版本的 libssl(例如 debian:busterubuntu:20.04centos:8)在連線到某些 TLS 伺服器時會發生區段錯誤,例如 curl https://dl.yarnpkg.com。此錯誤已在新版 libssl(例如 debian:bullseyeubuntu:21.04fedora:35)中修復。

  • 如果未安裝 Rosetta 2,某些命令列工具將無法運作。

    • 舊版本 1.x 的 docker-compose。請改用 Compose V2 - 輸入 docker compose
    • docker-credential-ecr-login 認證輔助程式。
  • 某些映像檔不支援 ARM64 架構。您可以新增 --platform linux/amd64 以使用模擬執行(或建置)Intel 映像檔。

    然而,嘗試在 Apple 晶片機器上以模擬方式執行基於 Intel 的容器可能會當機,因為 qemu 有時無法執行容器。此外,檔案系統變更通知 API (inotify) 在 qemu 模擬下無法運作。即使容器在模擬下正確執行,它們也會比原生容器更慢且使用更多記憶體。

    總之,在基於 Arm 的機器上執行基於 Intel 的容器應僅被視為「盡力而為」。我們建議盡可能在 Apple 晶片機器上執行 arm64 容器,並鼓勵容器作者製作 arm64 或多架構版本的容器。隨著越來越多的映像檔重建以支援多種架構,這個問題應該會隨著時間推移而變得越來越少見。

  • 從容器內部到網際網路的 ping 指令無法如預期般運作。要測試網路,請使用 curlwget。請參閱 docker/for-mac#5322

    編輯此頁面 要求變更