蘋果近日推出的首款自研的 Apple M1 芯片,收到了不少用戶的歡迎,但隨着這些用戶拿到真機,不少問題暴露出來。docker
有用戶發現,除了 AMD64架構以外,其餘大多數架構都沒法在 ARM 上運行。若是「強行」運行,將會大幅度提升運行成本。架構
而且有一部分工具和庫屬於開源項目,所以由此帶來的維護需求增加,將成爲沉重的額外負擔,致使某些貢獻者直接放棄爲新的 Mac 平臺上提供支持。app
固然也有一些應用程序、特別是閉源項目,壓根沒有 ARM 版 build,例如微軟 SQL Server 或 OracleDB。工具
一個不太好的消息是 ARM 架構是絕對支持不了 Windows 。測試
若是開發者想在新款 Mac 上測試本身的 Windows 應用。只能再買一臺筆記本,或者使用遠程桌面服務了。另外,開發者也無法在 Mac 上運行虛擬機進行設備測試(例如 ESXi、pfSense、FreeNAS 等)。ui
因爲 Mac 上的 Docker 只能在虛擬機內運行,再加上用戶只能對基於 ARM 架構的 Linux 進行虛擬化,意味着咱們將來只能在蘋果芯片版的 Mac 上運行 ARM64 容器。spa
目前,Docker Hub 上存在 331 萬 9219 個針對 AMD64 的鏡像,但針對 ARM64 的鏡像只有 29076 個,佔比不足 1%。再有,構建多架構 Docker 鏡像還特別複雜。調試
尤爲須要注意的是,因爲生產系統一般運行 Linux/AMD64,所以你生產的二進制文件及 Docker 鏡像極可能沒法在開發計算機上運行。固然,你也許能夠進行從新編譯及交叉編譯,但永遠沒法還原其真實的運行狀態。另外,若是你的應用在生產環境中發生問題,也沒法僅憑二進制文件或容器鏡像在本身的筆記本上進行調試。blog
Docker 在開發者的平常工做流程中佔據很是重要的位置,因此這些令開發者們感到至關頭痛。開發
參考資料:www.reddit.com/r/docker/comments/jpzt43/docker_for_mac_on_apple_silicon_keynote/