【问题标题】:Where is Vagrant saving changes to the VM?Vagrant 在哪里保存对 VM 的更改?
【发布时间】:2012-01-03 18:41:30
【问题描述】:

我刚从 Vagrant 开始,我在理解一些细节方面有点困难。我已经阅读了文档,但仍然缺少一个基本概念。当我想启动一个 Vagrant 框时,我运行:

vagrant up

这将“基于盒子构建虚拟机”我知道盒子存储在 ~/.vagrant.d 中,事实上我已经从一个基本的 Ubuntu 盒子打包了我自己的盒子。但是,当我运行 vagrant up 并开始向 vm 添加文件时,vm 的虚拟硬盘存储在哪里?比如我运行apt-get install apache2,修改了root系统,这个修改在哪里?

当我对当前目录执行 du 时,我看不到任何更改。我也没有在 ~/.vagrant.d 目录中看到任何更改。但是,我可以做 vagrant halt,重新启动我的本地机器,然后再次运行 vagrant up,并且更改会保留在某个地方。

vagrant up 也报告了

[default] VM already created. Booting if its not already running...

谁能告诉我虚拟机是在哪里创建的以及在哪里进行的更改?

【问题讨论】:

    标签: vagrant


    【解决方案1】:

    Vagrant 导入位于~/.vagrant.d/boxes/ 的基本框,就像你说的那样。 这是保存基本盒的地方。它使用它从干净状态启动 VM。导入 VM 时,存储数据文件和 VM 状态的位置由 VirtualBox 自己负责。这是一个可配置的位置,但对于 Mac OS X 和 Linux,通常默认为 ~/VirtualBox\ VMS。在 Windows 中,这些框保存在 %userprofile%\.vagrant.d\boxes

    无论您碰巧使用什么平台,都可以轻松找到创建它们的位置。

    1. Start VirtualBox. 
    2. Go to the VM that shows as running instance. 
    3. Check out the Settings ->Storage. 
    4. You can find the path to location where VMs are created and stored in your file system.
    

    【讨论】:

    • 感谢您的回答。您已经很好地解释了它是如何工作的。
    • 在 Windows 上也是 ~/VirtualBox VMS
    • 我想知道@pyfunc 和这里的其他用户是否可以帮助我在一个不是首先使用vagrant up 创建的现有VM 上使用vagrant。 stackoverflow.com/q/14503932/80353
    • @kimsia:可以在经过一定准备后将您的 VM 导出为可与 vagrant 一起使用的 box 文件。如果有帮助,请参阅我的博客笔记:pyfunc.blogspot.com/2011/11/…
    • @pyfunc,谢谢你的回复。你的博文给了我一些线索。我还有更多后续问题要问。如果我复制您的评论并粘贴作为我问题的答案并在那里进行对话,可以吗?还是您更愿意自己回答我的问题?这是我的问题stackoverflow.com/q/14503932/80353
    【解决方案2】:

    我总是更改 Virtualbox 默认为 VM 使用的目录。通常它位于 Windows 的配置文件文件夹中。

    我将其更改为“D:\VHDs\VBox\”之类的内容,在那里我找到了我的流浪测试虚拟机:“test01_1347456065”。它被称为 test01,所以我猜 vagrant 会添加数字以保持唯一性。

    【讨论】:

    • Vagrant 将 UNIX 时间戳添加到文件夹名称中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2020-08-08
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    相关资源
    最近更新 更多