提升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速度_第1张图片

真没法用了。

docker sync加速
后来笨叔听说docker for MAC比较慢,是因为host和docker文件系统之间传东西比较慢,就是IO慢,可以使用docker sync来加速。

提升MAC for docker速度_第2张图片

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

      ok  Starting unison for sync mac_sync

      ok  Synced /Users/figo/work

 success  Unison server started

      ok  Synced /Users/figo/work

 success  Starting 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目录。

笨叔把docker上传到了阿里云上,大家下载比较快:registry.cn-shanghai.aliyuncs.com/benshushu/runninglinuxkernel

接着我们在/root/work目录下面编译内核。

提升MAC for docker速度_第3张图片

最后我们发现,docker里的编译速度和vmware差不多了,比之前快了10倍。

微信公众号
提升MAC for docker速度_第4张图片

你可能感兴趣的:(dockerlinux)