我收到了一位开发人员关于Vagrant的指示,可能只是出错了。我已经联系了这个开发人员10次,无法让交付的Vagrant盒子正常工作。
开发者给了我一个zip文件,应该是一个Vagrant盒子。
内容如下:
README.md config/ company-name/
Vagrantfile custom/ bin/
config/
目录的内容是
box.yaml files vms.yaml
default.yaml user.yaml
facts-devbox.yaml user.yaml-sample
我认为这是您下载并运行的devbox的结构。
我按照开发人员和cd [described folder]
然后我运行vagrant up
这会导致很多自定义脚本的安装过程......
然后我运行vagrant ssh
并使用bitbucket将文件拉入Vagrant VM中的/var/www
。
令我感到困惑的是,我的主机上有大量文件。
我在Vagrant VM中安装到/var/www/
的所有内容也会显示在/var/www
的主机文件系统中。
这是Vagrant盒子的正常程序吗?将文件放在主机上的VM有什么意义?
是否有一些典型的Vagrant配置文件可能会在VM和主机之间显示有关此类共享文件夹结构的详细信息?
我知道最好的答案是询问开发人员...但是在这种情况下,通信已经失败了很多次与这个机构,他们基本上没有意识到他们自己的系统是如何工作的。
答案 0 :(得分:3)
这是Vagrant盒子的正常程序吗?
是的,这是一个正常的程序,它是流浪者的好点 - 你不需要交换大的胖文件和盒子托管在云上(大多数来自https://atlas.hashicorp.com/boxes现在)
所以当你运行vagrant up
时,实际上必须下载一个盒子并安装在你的系统上,然后运行一组提供步骤。
这一切都很好 - 大多数团队都会投入项目,包括vagrantfile,一个新的团队成员加入,克隆回购,流浪者和他有其他人一样的环境。
开发者给了我一个zip文件,应该是一个Vagrant盒子。
他没有给你流浪的盒子,但是包含Vagrantfile的项目文件夹,其中包含了关于教育的所有配置
如果您打开Vagrantfile,则会有一个参数
config.vm.box = "something" (maybe something/something)
config.vm.box_url = "url" (is the box is private and hosted somewhere by your company)
基本上这些参数指示流浪者在哪里下载盒子,并且当你运行vagrant up
时,vagrant将在本地为你安装盒子,所以你不需要管理这个部分。这是一项非常好的改进
这会导致很多自定义脚本的安装过程......
是的,配置可能需要一些时间,具体取决于您在VM上安装的内容(数据库,应用服务器,配置...),但此过程仅在您设置VM时执行一次。在此之后,只要您不需要vagrant destroy
机器,启动实例将会更快
将文件放在主机上的VM有什么意义?
是否有一些典型的Vagrant配置文件可能会显示详细信息 关于VM和主机之间的共享文件夹结构?
这两个问题汇集在一起,所以当你得到时,Vagrantfile是带有vagrant配置的密钥文件。 vagrant也可以为你管理共享文件夹,所以你可能有一个像
这样的配置config.vm.synced_folder "/var/www", "/var/www"
因为你提到了
我在Vagrant VM中安装到/ var / www /的所有内容都会显示在主机上 / var / www中的文件系统。
这一部分确实很糟糕,我不建议这样做,但很高兴与您的主机上的文件夹共享您的虚拟机/var/www
或/var/wwww/site-xxx
(但不是您的本地/var/www
)因此,您在主机上更改的所有内容都将在VM上同步。因此,您可以在主机上使用本地工具,并在VM上刷新所有内容