关于docker:提升MAC-for-docker速度

51次阅读

共计 1390 个字符,预计需要花费 4 分钟才能阅读完成。

微信公众号:奔跑吧 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 倍。

微信公众号

正文完
 0