如何提升Docker for Mac性能

Docker For Mac 在mount本地文件時,有很大的性能問題,本文介紹兩種實測有效的性能提升方法。

什麼是Docker for Mac:

Docker for Mac is an easy-to-install desktop app for building, debugging and testing Dockerized apps on a Mac. Docker for Mac is a complete development environment deeply integrated with the MacOS Hypervisor framework, networking and filesystem. Docker for Mac is the fastest and most reliable way to run Docker on a Mac.

關於D4M性能問題的詳細討論,見這裡:

File access in mounted volumes extremely slow · Issue #77 · docker/for-mac

裡邊提到了幾種解決方案:

- docker-machine-nfs: adlogix/docker-machine-nfs

- d4m-nfs: IFSight/d4m-nfs

- docker-sync: EugenMayer/docker-sync

- 使用edge版的Docker for Mac

實測了以下兩種:

1. docker-sync

EugenMayer/docker-sync

使用docker-sync後,性能確有明顯提升。

但我在具體開發中遇到一個問題:

用了docker-sync後,從Docker容器里建一個目錄xfolder,在容器外本地往該目錄xfolder里添加幾個文件,這些文件無法同步到Docker容器里。

反之則可以,即先從本地創建目錄,再從Docker容器里往該目錄里添加文件,則這些文件會正常同步到本地。

該問題在官方issues里也有記錄:

0.4.6 not syncing both directions on macOS 10.11.6 · Issue #410 · EugenMayer/docker-sync

2. 使用edge版的Docker for Mac

實測性能提升效果也不錯,與docker-sync接近。

卸載stable版的Docker,安裝edge版。

安裝後,在docker-compose.yml中要mount的volumes處,增加cached標記即可:

詳細介紹直接見:

File access in mounted volumes extremely slow · Issue #77 · docker/for-mac

謝謝閱讀

題圖引自 whalesunderwater.com

-----------

不要慌,300字夠了,撤。

微信公眾號:浮生開方

HUDO.IT on Slack: hudoit.herokuapp.com


推薦閱讀:

各位前輩請問docker怎麼樣呀,有什麼學習資料(博客呀、網站呀等)給推薦一下,謝謝?
Docker的作用的主要作用是什麼?

TAG:Docker | 容器虚拟化 |