应该是在Vagrant VM内部还是外部OSX?

时间:2014-11-26 21:32:50

标签: macos vagrant docker boot2docker fig

我一直试图在OSX上挖掘Docker,Fig,boot2docker,Vagrant的文档和youtube视频,不幸的是遇到了很多矛盾或者过时的信息。

我试图在OSX(app和MySQL)上使用Fig工作简单地获得2个docker容器。我的第一个问题是,假设Fig应该在Vagrant VM之外运行(即从OSX中的Terminal命令行运行),还是应该在Vagrantfile中运行,以便你“流浪ssh”然后从内部运行fig来启动容器?或者你可以两种方式做到这一点,每个方面都有利弊吗?

我是所有这一切的新手,我得到了Docker基本上共享操作系统的基础知识,但操作系统必须是Linux,因此需要boot2docker(可以旋转Tiny Linux)或Vagrant使用Ubuntu或者CoreOS或其他东西。那么在Vagrant SSH内部启动fig会更有意义,因为你现在基本上模仿了如果你在开发机器上运行Linux作为本机操作系统通常会发生的事情。

我知道你可以在没有Vagrant的情况下运行fig,但是你失去了文件夹同步,这使得在OSX上使用IDE进行开发变得更加困难。

2 个答案:

答案 0 :(得分:1)

图片应安装在您的主机环境中,一旦安装,例如通过homebrew,然后在与dockerfile相同的目录中配置fig.yml,并键入fig up。有关无花果网站here的更多信息。

/编辑:

所以dig的文档目前有点不好,但基本上dockerfile和fig.yml都需要指向共享目录。

因此,如果您的代码位于名为 code 的目录中,该目录位于与dockerfile相同的目录中,并且fig.yml确保在 dockerfile 中声明它如下所示:

ADD . /code
WORKDIR /code

fig.yml 中,它应该像这样定义:

volumes:
   - .:/code

所以,当你运行图片时,它应该可供应用程序使用。目前,无花果网站上提供了djangorails的具体指南。

答案 1 :(得分:0)

我以前做的是

  1. 直接使用boot2docker的共享文件夹功能(自1.3.x起)
  2. 从boot2docker 1.3.x版本,默认情况下,通过VirtualBox Guest支持共享文件夹。

    1. fig由Mac2中的boot2docker直接安装,安装在MacOS中
    2. 请参阅http://www.fig.sh/install.html

      1. (可选)使用fig docker容器(适用于Windows)
      2. 请参阅https://github.com/larrycai/docker-images/tree/master/fig