已知問題


  • Mac 的「活動監視器」顯示 Docker 使用的記憶體是實際用量的兩倍。這是由於 macOS 的一個 [錯誤 (bug)] (https://docs.google.com/document/d/17ZiQC1Tp9iH320K-uqVLyiJmk4DHJ3c4zgQetJiKYQM/edit?usp=sharing) 所致。

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

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

  • 如果您正在使用像 Apache Maven 這樣預期會有 DOCKER_HOSTDOCKER_CERT_PATH 環境變數設定的應用程式,請指定這些變數以透過 Unix sockets 連接至 Docker 實例。例如:

    $ export DOCKER_HOST=unix:///var/run/docker.sock
    
  • 當未安裝 Rosetta 2 時,某些命令列工具將無法運作。

    • 舊版 1.x 的 docker-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 或多架構 (multi-arch) 版本的容器。隨著越來越多映像檔被重新建置以 支援多種架構,此問題將會逐漸減少。

  • 當 TCP 資料流處於半關閉 (half-closed) 狀態時,使用者偶爾可能會遇到資料遺失的問題。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.