Docker 1.3 在 2014-10-16 释出。其中,在方便性上最让人注目的更新,除了 exec 指令以外,就是 boot2docker 在 Mac OS X 资料夹分享功能的改进,本文主要是针对后者去做讲述。

有别于以往,现在 Docker 已经到了 1.12.6,在 Mac OS X 上的安装方式也不再是 boot2docker,而是另外有安装程式去做**化,包括 data volume 的使用也更加方便了,所以关于 boot2docker 的操作已经不适用了。不过现在的挂载原理其实是大同小异的,本篇提到在 Mac OS X 是如何建立 Volume 功能的概念还是可以去了解的。

但是,在 Docker 1.3 之前,因为 boot2docker 的映像档没有支援 VirtualBox Guest Additions ,所以无法使用 Virtualbox 分享资料夹的功能,将 OS X 的资料夹挂载到虚拟机器里。因此必须另外自行制作有支援该 VirtualBox Guest Additions 的映像档(或是下载别人做好的),然后设定 Virtual Box ,把 OS X 的资料夹自动挂载到虚拟机器里。

不过,随着 Docker 1.3 释出,boot2docker 也一并将这个功能引入。使用者可以直接透过 boot2docker 的映像档使用这功能,而且它会自动把 /Users 资料夹挂载到虚拟机器里,不需要另外设定!

下图是在 OS X 上,使用 boot2docker 建立 data volume 的示意图,希望能帮助各位了解运作原理。

把想建立 data volume 的资料夹与档案准备好。

Data Volume 是 docker 在应用 LXC 时,一个非常重要的功能。在初学 Docker 前,因为不懂 boot2docker 的运作原理,在这功能鬼打墙好多次,都无法成功。后来知道原理后,却觉得在 OS X 实作这功能太麻烦了,改用 VPS 直接用 Linux 去玩 Docker 。还好,现在 boot2docker 已经做好这件事了,让我们可以更快乐的在 OS X 上面玩 Docker ,尤其是进行开发啦!(rock)

刚好,这块是我在 PHPConf 演讲 里,只有稍微带过的部分,希望这篇文章能补足当时因为时间关系,而没讲明的部分。在之后,我也会把握空闲时间,多写几篇有关 Docker 的文章,补足演讲的缺口,希望大家会喜欢。 =D