微信公众号:奔跑吧 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 装置起来用比较简单。
- 先装置 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 让环境变量失效。
- 装置其余必要的包。
brew install unison
brew install eugenmayer/dockersync/unox
- 在须要和 docker 同步的目录(假如你要同步的目录是:/Users/figo/work)上面创立一个 docker-sync.yml 文件。在该文件中增加如下语句。
version: ‘2’
syncs:
mac_sync:
sync_strategy: 'unison'
src: '.'
下面脚本咱们创立了一个 mac_sync 的同步的标签,它会把 /Users/figo/work 目录同步到 docker 里。
- 启动 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
$
- 启动 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 倍。
微信公众号