假设我在我的机器上本地有一个 rails 应用程序,并且我在该应用程序中使用 vagrant。
我已经在那个流浪者身上工作过,并用它做了一个盒子。
现在我把盒子给了其他人。
其他人是否需要在他们的机器上本地拥有 rails 应用程序的源代码,或者他们可以只使用我提供的 vagrant box 而无需在本地拥有源代码?
假设我在我的机器上本地有一个 rails 应用程序,并且我在该应用程序中使用 vagrant。
我已经在那个流浪者身上工作过,并用它做了一个盒子。
现在我把盒子给了其他人。
其他人是否需要在他们的机器上本地拥有 rails 应用程序的源代码,或者他们可以只使用我提供的 vagrant box 而无需在本地拥有源代码?
我们在下一个方案中使用 Vagrant for VDE(虚拟开发环境)(也许它对你也有用):
在 Vagrantfile 中,我们添加:
config.vm.box_url = "http://<url for our box>"
nfs = !Kernel.is_windows?
config.vm.share_folder "v-root", "/tmp/vde", ".", :nfs => nfs
我们将盒子存储在 S3 上很容易,但最简单的方法是保管箱。
因此,要共享您的资源,您只需要共享存储库。在 Readme.md 中,您可以描述启动 vde 的几个步骤
使用 share_folder 您的所有资源都可以从文件夹 /tmp/vde 中的 vde(内部实例)获得
通常,您的 Rails 应用程序的源代码从您自己的文件系统共享到您使用 Vagrant 运行的虚拟机;它不存储在虚拟机的驱动器上。该应用程序实际上永远不会永久存储在盒子上。因此,将其发送给其他人将不允许他们运行该应用程序,因为该应用程序在 VM 上不存在。
有关更多信息,请参阅Vagrant SSH 文档中的“访问项目文件”:
访问项目文件
Vagrant 通过使用 VirtualBox 共享文件夹将您的应用程序与虚拟环境连接起来。虚拟机上的共享文件夹位置默认为
/vagrant
,但可以更改。这可以通过在 SSH 会话中列出该文件夹中的文件来验证:vagrant@vagrantbase:~$ ls /vagrant index.html Vagrantfile
VM 对共享文件夹具有读写访问权限。
请记住:任何更改都会在两个系统之间进行镜像。