我想要并且已经实现的:
我想要创建一个自定义的vagrant box,包括配置和应用程序,以便在不同的客户端或服务器环境中重复使用。
具体来说,我成功地创建了一个基于Ubuntu(precise/64)的vagrant box,并在我的开发机上安装了node.js,并使用以下命令打包:
vagrant package my-box --output filename.box
我能够将filename.box复制到远程服务器并使用vagrant up
启动该box。node.js已像预期的那样安装在vagrant box中。
问题是,我无法将文件打包到同步文件夹vagrant
中。在远程服务器上启动box后,同步文件夹为空。
因此,我在本地开发机器上开发的应用程序没有被包含在box中。
我试图找到解决方法或任何关于这种行为的信息,但除了这个未解决的帖子,我在网上找不到任何东西。
我的问题:
- 如何保留同步文件夹中的文件并将它们打包到filename.box中以在服务器环境中重复使用。
- 这是否可能?我看到的行为是一个bug还是vagrant不打算同时打包文件?
- 我还没有对同步文件夹进行任何配置。是否可以从不同的同步文件夹打包文件,而不是常规的
/vagrant
? - 如果根本无法实现这一点,最佳实践是什么,用于部署或重复使用包括应用程序的vagrant环境?
vagrant up
时,这些文件将不再存在。只有在第一次启动虚拟机时才会进行配置,除非您稍后使用vagrant provision
强制执行。要进行版本控制,请查看Vagrantfile
中的盒子版本值。 - Jake Wilson