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