Docker Desktop 4.6 全新功能:大幅降低文件操作時間達 98%
近日 Docker Desktop for Mac 發布了全新的 4.6 版本,加入了許多新的更新。
其中最值得引人注目的是引入了一項名為 virtiofs 的實驗性功能,該功能明顯提高 macOS 用戶的文件共享性能,還改進了 macOS 主機和 Docker 虛擬機間文件同步的方式。
根據官方介紹,這些改進使得文件操作時間大幅減少達 98%。
該功能之所以會帶來巨大的性能提升是因為開發人員在使用 Symfony 或 React 等技術時,需要編輯位于 macOS 主機上的源代碼,同時在 Docker 容器中運行應用程序本身。使用 Docker volumes 在主機和容器之間共享源代碼,對位于主機系統上的文件所做的更改必須快速可靠地同步到容器文件系統,以便開發人員優化生產力并獲得良好的用戶體驗。當考慮到現代的依賴關系管理可以很容易地將 10k–100k 的文件引入項目(這線性地增加了性能損失)時,這可能會導致性能下降,因為主機和容器通過卷保持同步,而 virtiofs 的使用,緩解了這個問題。
開發人員在使用 Docker Desktop 4.6 早期預覽版時觀察到:284 MB 的 MySQL 導入時間從 3 分 16 秒縮短到了 18 秒;而大型程序代碼庫執行 composer install的時間,從 1 分鐘 27 秒縮短 87%,僅剩 11 秒;還有啟動單體 Typescript 應用程序的時間縮短 80%,從 1 分 30 秒縮短至 18 秒。
如何啟用 virtiofs
注意:virtiofs 僅適用于使用以下 macOS 版本的用戶
- macOS 12.2 及以上版本(M1 系列處理器)
- macOS 12.3 及以上版本(英特爾處理器)
在 Docker Desktop 中啟用 virtiofs:
- 將 Docker Desktop 升級至 4.6 版本
下載鏈接:https://docs.docker.com/desktop/mac/release-notes/
- 導航到 “偏好” > “實驗性功能”
- 選擇 "啟用 VirtioFS 加速的目錄共享" 選項
- 點擊 "應用和重啟" 即可;
virtiofs 現在可以在 Docker Desktop for Mac 4.6 版本中訪問,并且可供所有用戶使用,包括 Docker 個人免費用戶以及 Docker Pro、團隊和商業付費訂閱用戶。
目前由于 virtiofs 仍處于實驗性階段,因此在使用過程中會存在部分問題。官方提醒已知存在的問題就是運行 virtiofs 的容器可能會由于權限錯誤而失敗。用戶可以將發現的任何問題上報至 Docker Mac 文件系統性能線程中。