微信公众号:奔跑吧Linux社区
关注可理解更多的Linux相干的常识。问题或倡议,请公众号留言;
欢送订阅笨叔旗舰篇视频节目:https://weidian.com/?userid=1...

MAC for docker真慢
笨叔听人忽悠买了MAC,发现在MAC上编译runninglinuxkernel真麻烦,须要装置一个vmware或者vbox虚拟机。起初据说能够在MAC上装置一个docker,在docker里编译和运行runninglinuxkenrel,那个速度真是一个叫蜗牛。我在vmware虚拟机里编译内核须要大略6分钟,在docker里编译须要60分钟,慢10倍。

真没法用了。

docker sync减速
起初笨叔据说docker for MAC比较慢,是因为host和docker文件系统之间传货色比较慢,就是IO慢,能够应用docker sync来减速。

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目录上面编译内核。

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

微信公众号