已知問題
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_HOST
和DOCKER_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
憑證助手。
- 舊版本 1.x 的
某些映象不支援 ARM64 架構。您可以新增
--platform linux/amd64
來使用模擬執行(或構建)英特爾映象。然而,在 Apple 晶片機器上嘗試透過模擬執行基於 Intel 的容器可能會崩潰,因為 QEMU 有時無法執行容器。此外,檔案系統更改通知 API (
inotify
) 在 QEMU 模擬下不起作用。即使容器在模擬下執行正常,它們也會比原生等效項更慢,並使用更多記憶體。總之,在基於 Arm 的機器上執行基於 Intel 的容器應僅被視為“盡力而為”。我們建議儘可能在 Apple 晶片機器上執行
arm64
容器,並鼓勵容器作者製作arm64
或多架構版本的容器。隨著越來越多的映象 支援多種架構,這個問題會隨著時間的推移變得越來越不常見。當 TCP 流半關閉時,使用者偶爾會遇到資料丟失的情況。