提升MAC for docker速度

微信公众号:奔跑吧Linux社区
关注可了解更多的Linux相关的知识。问题或建议,请公众号留言;
欢迎订阅笨叔旗舰篇视频节目:https://weidian.com/?userid=1...
MAC for docker真慢
笨叔听人忽悠买了MAC,发现在MAC上编译runninglinuxkernel真麻烦,需要安装一个vmware或者vbox虚拟机。后来听说可以在MAC上安装一个docker,在docker里编译和运行runninglinuxkenrel,那个速度真是一个叫蜗牛。我在vmware虚拟机里编译内核需要大概6分钟,在docker里编译需要60分钟,慢10倍。
提升MAC for docker速度
文章图片

真没法用了。
docker sync加速
后来笨叔听说docker for MAC比较慢,是因为host和docker文件系统之间传东西比较慢,就是IO慢,可以使用docker sync来加速。
提升MAC for docker速度
文章图片

docker sync安装起来用比较简单。

  1. 先安装docker-sync
gem install --user-install docker-sync 修改~/.bashrc文件,添加如下语句。
if which ruby >/dev/null && which gem >/dev/null; then
PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi
然后运行:source ~/.bashrc让环境变量生效。
  1. 安装其他必要的包。
brew install unison brew install eugenmayer/dockersync/unox
  1. 在需要和docker 同步的目录(假设你要同步的目录是:/Users/figo/work)下面创建一个docker-sync.yml文件。在该文件中添加如下语句。
version: '2'
syncs:
mac_sync:sync_strategy: 'unison'src: '.'

上面脚本我们创建了一个mac_sync的同步的标签,它会把/Users/figo/work目录同步到docker里。
  1. 启动dock-sync服务。
$cd /Users/figo/work
$ docker-sync start
okStarting unison for sync mac_syncokSynced /Users/figo/work successUnison server startedokSynced /Users/figo/work successStarting Docker-Sync in the background

$
  1. 启动docker。
docker run -it --rm --privileged=true -v mac_sync:/root/work registry.cn-shanghai.aliyuncs.com/benshushu/runninglinuxkernel:rlk bash 上面的docker命令把刚才创建的mac_sync映射到了docker里面的/root/work目录。
【提升MAC for docker速度】笨叔把docker上传到了阿里云上,大家下载比较快:registry.cn-shanghai.aliyuncs.com/benshushu/runninglinuxkernel
接着我们在/root/work目录下面编译内核。
提升MAC for docker速度
文章图片

最后我们发现,docker里的编译速度和vmware差不多了,比之前快了10倍。
微信公众号
提升MAC for docker速度
文章图片

    推荐阅读