2

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

我正在尝试使用在 OSX(应用程序和 MySQL)上工作的 Fig 来简单地获取 2 个 docker 容器。我的第一个问题是,Fig 是应该在 Vagrant VM 之外运行(即从 OSX 中的终端命令行)还是应该在 Vagrantfile 中以便您“vagrant ssh”然后从内部运行 fig 以启动容器?或者你可以两种方法都做吗?每种方法都有优点和缺点吗?

我对这一切都很陌生,我了解了 Docker 基本上共享操作系统的基础知识,但该操作系统必须是 Linux,因此需要 boot2docker(它启动 Tiny Linux)或带有 Ubuntu 或 CoreOS 的 Vagrant 或其他东西. 在 Vagrant SSH 中启动 fig 会更有意义,因为您现在基本上是在模拟如果您在开发机器上运行 Linux 作为本机操作系统通常会发生的情况。

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

4

2 回答 2

1

fig 应该安装在您的主机环境中,一旦通过 homebrew 安装,然后您在与 dockerfile 相同的目录中配置一个 fig.yml,然后键入fig up. 无花果网站上的更多信息在这里

/编辑:

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

因此,如果您的代码位于一个名为code的目录中,该目录与您的 dockerfile 和 fig.yml 位于同一目录中,请确保它在您的dockerfile中声明如下:

ADD . /code
WORKDIR /code

fig.yml中应该这样定义:

volumes:
   - .:/code

因此,当您运行 fig up 时,它应该对应用程序可用。目前在djangorails的 fig 网站上有特定的指南。

于 2014-11-26T22:12:45.890 回答
0

我习惯做的是

  1. 直接使用 boot2docker 中的共享文件夹功能(从 1.3.x 开始)

从 boot2docker 1.3.x 版本开始,默认情况下通过 VirtualBox Guest 支持共享文件夹。

  1. fig 直接在 MacOS 中通过 boot2docker 安装,这是在 MacOS 中安装的

http://www.fig.sh/install.html

  1. (可选)使用 fig docker 容器(适用于 Windows)

https://github.com/larrycai/docker-images/tree/master/fig

于 2014-12-08T00:43:30.137 回答