已知問題


  • 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 管理程式 (https://github.com/docker/hyperkit)。如果您正在使用與 HyperKit 存在衝突的工具進行開發,例如 英特爾硬體加速執行管理器 (HAXM),當前的解決方案是不要同時執行它們。您可以在使用 HAXM 時暫時退出 Docker Desktop 來暫停 HyperKit。這允許您繼續使用其他工具並防止 HyperKit 干擾。

  • 如果您正在使用像 Apache Maven 這樣需要 DOCKER_HOSTDOCKER_CERT_PATH 環境變數設定的應用程式,請指定這些變數以透過 Unix 套接字連線到 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 來使用模擬執行(或構建)英特爾映象。

    然而,在 Apple 晶片機器上嘗試透過模擬執行基於 Intel 的容器可能會崩潰,因為 QEMU 有時無法執行容器。此外,檔案系統更改通知 API (inotify) 在 QEMU 模擬下不起作用。即使容器在模擬下執行正常,它們也會比原生等效項更慢,並使用更多記憶體。

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

  • 當 TCP 流半關閉時,使用者偶爾會遇到資料丟失的情況。