在不同目录之间共享一个Vagrant实例

在不同目录之间共享一个Vagrant实例,vagrant,Vagrant,我有几个目录与不同的Mercurial历史,我在平行工作。它们都有相同的Vagrantfile,所以很自然地只对它们使用一个实例。 但是,当我在一个新目录中运行“vagrant up”时,它会从链接现有VM、设置环境等开始。 如何在不同的目录之间共享Vagrant实例 更新:我的目录结构: \ Vagrantfile puppet *.pp support nginx.conf uwsgi.development.ini other_repo_related_files_an

我有几个目录与不同的Mercurial历史,我在平行工作。它们都有相同的Vagrantfile,所以很自然地只对它们使用一个实例。 但是,当我在一个新目录中运行“vagrant up”时,它会从链接现有VM、设置环境等开始。 如何在不同的目录之间共享Vagrant实例

更新:我的目录结构:

\
 Vagrantfile
 puppet
  *.pp
 support
  nginx.conf
  uwsgi.development.ini
 other_repo_related_files_and_dirs

在这里大声思考。不确定这是否是一个满足您需求的解决方案

如果您设置这样的目录结构

/Main
  /projects
    /mercurial_history_1 
    /mercurial_history_2
    /mercurial_history_3
  /puppet
  /modules
  /manifests
    default.pp
  Vagrantfile
我不确定您正在运行哪种类型的项目,但如果您正在运行一个apache Web服务器(例如)。您可以为VM中的每个mercurial项目指定单独的vhost。因此,您可以将DocumentRoot指向特定的mercurial项目

对于此解决方案,您必须在Vagrant文件中添加以下行

config.vm.network "private_network", ip: "22.22.22.11" <- Just an example IP

config.vm.network“private_network”,ip:“22.22.22.11”如果你想与同一个Vagrant实例共享一些目录,你可以配置Vagrant文件

这是一个例子,有两个虚拟机(应用程序和web),使用同一个框(ubuntu-12.04)和同一个文件。每个实例都有两个文件夹(VM一个文件夹)

#-*-模式:ruby-*-
#vi:set ft=ruby:
#Vagrantfile API/语法版本。除非你知道自己在做什么,否则不要碰!
VAGRANTFILE\u API\u VERSION=“2”
configure(Vagrant文件API版本)do | config|
config.vm.define'app'do | app|u config|
app_config.vm.box='ubuntu-12.04'
app_config.vm.host_name='app'
app_config.vm.network“专用_网络”,ip:“192.168.33.33”
app_config.vm.synched_文件夹“app_config”、“/app_config”
结束
config.vm.define“web”do | web_config|
web_config.vm.box='ubuntu-12.04'
web\u config.vm.host\u name='web'
web_config.vm.network“专用网络”,ip:“192.168.33.34”
web\u config.vm.synched\u文件夹“web\u config”,“/web\u config”
结束
结束
app-machine有一个app\u-config文件夹,web-machine有一个web\u-config文件夹(这些文件夹与文件处于同一级别)

当您使用vagrant ssh命令进入每个VM时,您可以看到每个文件夹。 这是进入应用程序机器

roberto@rcisla-pc:~/Desktop/multiple$vagrant ssh应用程序
欢迎使用Ubuntu 12.04 LTS(GNU/Linux 3.2.0-23-generic-pae i686)
*文件:https://help.ubuntu.com/
欢迎使用您的流浪者构建的虚拟机。
上次登录:2014年1月27日星期一13:46:36,从10.0.2.2开始
vagrant@app:~$cd/app\u配置/
vagrant@app:/app\u config$ls
应用程序配置文件
这是网络机器

roberto@rcisla-pc:~/Desktop/multiple$vagrant ssh web
欢迎使用Ubuntu 12.04 LTS(GNU/Linux 3.2.0-23-generic-pae i686)
*文件:https://help.ubuntu.com/
欢迎使用您的流浪者构建的虚拟机。
上次登录:2014年1月27日星期一13:47:12,从10.0.2.2开始
vagrant@web:~$cd/web\u配置/
vagrant@web:/web\u config$ls
网络配置文件
vagrant@web:/web\u配置$
这是我的目录结构

。
├── **应用程序配置**
│   └── *应用程序配置文件*
├── 属性
├── 伯克斯菲尔
├── 伯克斯菲尔锁
├── 切菲格诺
├── 定义
├── 文件夹
│   └── 违约
├── Gemfile
├── 图书馆
├── 许可证
├── 元数据.rb
├── 提供者
├── 自述文件
├── 食谱
│   └── default.rb
├── 资源
├── 模板
│   └── 违约
├── 测试
│   └── 整合
│       └── 违约
├── 索菲尔
├── 流浪汉档案
├── 流浪汉档案~
└── **网络配置**
└── *网络配置文件*

我希望这对您有所帮助。

您能列出您的目录结构吗?