使用具有Vagrant的单个VM来跨多个项目托管Docker容器

时间:2016-11-17 16:45:34

标签: docker vagrant virtualbox

我有两个独立的项目/ src / code repos,使用Vagrant在docker容器中运行应用程序。

我正在使用Vagrant和CentOS7主机VM来托管docker容器(https://www.vagrantup.com/docs/docker/basics.html)。我在每个项目中使用CentOS7 VM Vagrantfile(Vagranfile.host)的副本。

- proj1/
-- Vagrantfile
-- Vagrantfile.host
- proj2/
-- Vagrantfile
-- Vagrantfile.host

每个Vagrantfile指向Vagrantfile.host以启动CentOS VM来托管Docker容器。

两个项目之间的唯一区别(有效地针对此问题)是Vagrantfile中的proj1指向与proj2中不同的码头图像。

当我在每个项目文件夹中执行vagrant up时,每个项目都会创建自己的CentOS7虚拟机实例,因此我最终运行了两个独立的VirtualBox虚拟机。

有没有办法可以更改一个或两个Vagrantfile文件,这样我最终只会启动一个虚拟机,并且容器都在同一个VirtualBox虚拟机中运行?

1 个答案:

答案 0 :(得分:0)

让它发挥作用。不是我想要的方式,而是记录以后发现这个问题的任何人。将Docker Vagrantfile指向他们的linux父级的相同Vagrantfile.host。

   - proj1/
   -- Vagrantfile --> ./Vagrantfile.host
   -- Vagrantfile.host
   - proj2/
   -- Vagrantfile --> ../proj1/Vagrantfile.host