2

最近我一直在涉足vagrantand docker。这些是非常有趣的工具,但我无法说服自己这是在我的 OS X 机器上要走的路。作为一个老 Unix 帽子,我不得不说我喜欢有一个统一的沙盒环境用于开发目的。

我看到了很多喋喋不休,许多朋友一直在使用vagrant股票vim进行编辑。我不太喜欢这种方法,可能更喜欢使用 vm 提供者的共享机制,或者更可能是 NFS。

就我个人而言,我希望能够直接在 TextMate、SublimeText、Emacs(在 OS X 上)中进行编辑,甚至可能使用 RubyMine 及其各种 IDE 功能等。

有什么方法可以真正降低工作流程,以便这样的环境本质上就像在本地环境中工作,而不必拉出大量额外的背景字符串来使事情顺利进行?

我想一些放置得当的脚本可能会有很长的路要走,但我还没有找到任何可靠的答案来真正使它成为一个无缝的环境。

4

1 回答 1

2

实际上对我有用的是使用boot2docker,它可以很容易地安装一个轻量级的虚拟机(使用 VirtualBox)来托管你的 docker 守护进程和图像。要运行 docker 命令,您唯一需要做的就是在打开新终端时运行 $(boot2docker shellinit)。

如果您还需要将文件放在 OS X 文件夹中并与正在运行的 docker 映像共享它们,则需要进行一些额外的设置,但一旦完成,您就不必再这样做了。在这里查看有关如何执行此操作的不错的演练。简而言之,步骤是:

  • 获取一个特殊的 boot2docker 镜像,允许您使用 VirtualBox 的共享文件夹
  • 配置 VirtualBox 以共享文件夹:

    VBoxManage sharedfolder add boot2docker-vm -name home -hostpath /Users

    这将与托管 docker 的 boot2docker 映像共享您的 /Users 文件夹。

  • 从您的 Mac 共享您需要的文件夹与 docker 映像中的文件夹,例如:

    docker run -it -v /Users/me/dev/my-project:/root/src:rw ubuntu /bin/bash

我还没有找到如何克服的一个小烦恼是您不再通过 localhost 访问您的软件,因为它实际上在 boot2docker 实例上运行。您必须运行boot2docker ip并访问该 IP。

希望有帮助!

于 2014-09-30T13:16:06.370 回答