我有大约15个流浪汉机器。这些机器使用CentOS和Ubuntu作为基础盒。当我运行vagrant box list
centos/7 (virtualbox, 1705.01)
centos/7 (virtualbox, 1706.02)
centos/7 (virtualbox, 1707.01)
centos/7 (virtualbox, 1708.01)
geerlingguy/centos7 (virtualbox, 1.2.3)
geerlingguy/ubuntu1604 (virtualbox, 1.1.6)
laravel/homestead (virtualbox, 3.0.0)
puppetlabs/centos-7.2-64-nocm (virtualbox, 1.0.1)
ubuntu/precise64 (virtualbox, 20170427.0.0)
ubuntu/trusty64 (virtualbox, 20170615.0.0)
ubuntu/trusty64 (virtualbox, 20170619.0.0)
ubuntu/xenial64 (virtualbox, 20170802.0.0)
ubuntu/xenial64 (virtualbox, 20170815.1.0)
ubuntu/yakkety64 (virtualbox, 20170202.0.0)
ubuntu/zesty64 (virtualbox, 20170412.1.0)
当尝试修剪时,我收到了一些消息,表示正在使用某些盒子,如果我删除该盒子,我的环境将会被破坏。
如果删除所有框,现有机器会发生什么?
我通过使用centos / 7 - 1708.01创建新机器进行测试。
whois
和vim
vagrant box remove centos/7 --provider virtualbox --box-version 1708.01
的复选框。 vagrant up
并且机器启动没有任何问题。 它仍然安装了我安装的软件包和我创建的文件。
我和ubuntu/xenial64
做了同样的测试。
我仍然可以看到我安装的软件包和文件。
如果删除框不影响现有机器,那么为什么会出现有关环境损坏的消息?
我的理解是,在我使用一个盒子来创建机器后,不管盒子是否存在,因为机器现在处于虚拟盒中。
我试图通过文档但找不到我要查找的信息。 你能解释一下流浪者的整个工作流程吗?
答案 0 :(得分:1)
你是对的;
基本上当你运行vagrant up
时,vagrant正在克隆该框以创建一个新的实例VM。创建此VM后,它没有指向克隆的链接(原始框),因此如果删除该框,则不会影响生成的VM。
如果您需要销毁并重新创建VM,则会遇到问题。
如果你正在使用linked clones VM,它的工作方式会略有不同,在这种情况下,与该框有更强的依赖关系。