vagrant - vagrant remove,halt和destroy有什么区别
问题描述
所以当谈到流浪者时,我是一个初学者。在浏览与之相关的在线内容和文档时,我遇到了 3 个 vagrant 命令,即“destroy”、“remove”和“halt”。有人能弄清楚他们到底会做什么吗?
我知道: DESTROY:此命令停止正在运行的机器 Vagrant 正在管理并销毁在机器创建过程中创建的所有资源。运行此命令后,您的计算机应该保持干净状态,就好像您从未创建过来宾计算机一样。
HALT:此命令关闭 Vagrant 正在管理的正在运行的机器。
REMOVE:此命令从 Vagrant 中删除与给定名称匹配的框。那么这是否会从硬盘驱动器中移除盒子?
我无法想象这些命令的区别。我觉得停止就像关闭虚拟机一样。资源仍然分配给它。destroy 就像没有 VM 存在的状态。
remove 手段,甚至是去掉盒子。所以你必须重新下载它。那是对的吗 ?
解决方案
(凯文回答正确,+1!我只是为流浪初学者提供更多信息)
首先,您需要了解 vagrant 是如何工作的。
当您创建 vagrant 环境时,您将创建一个 vagrant 文件(您可以使用命令vagrant init bento/ubuntu-16.04
) -Vagrantfile
看起来像(减少到最小)
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
end
当你启动 vagrant ( vagrant up
) 来运行虚拟机时,它会做的是:
- 从互联网上下载盒子
bento/ubuntu-16.04
(这实际上已经是一个 VM,它将成为进一步 VM 的基础映像)一旦下载了盒子,它就会保留在您的$HOME/.vagrant.d/boxes
文件夹中,并且可以用于任何其他 Vagrantfile - vagrant 将克隆盒子并在 VirtualBox 中创建一个虚拟机。您可以打开 Virtualbox 并在可用 VM 列表中查看该 VM。VM 文件将存储在 VirtualBox 文件夹中。
您可以下载任意数量的盒子并将它们存储在您的.vagrant.d
文件夹中,您可以看到正在运行的可用盒子列表
$ vagrant box list
您可以通过运行查看当前管理的 vagrant 虚拟机
$ vagrant global-status
现在回答您的问题,该命令将对不同级别产生影响:
vagrant halt
您理解正确 - 您可以查看我之前的答案以进一步阅读In Vagrant 哪个更好地停止和暂停?vagrant destroy
此命令会销毁所有VM 资源(但不是任何 vagrant 资源),因此所有 VirtualBox VM 文件都将被销毁,但该框保持不变。vagrant box list
您可以在 VM 上运行后通过运行来检查vagrant destroy
,所有框都保持不变。vagrant remove
此命令删除(销毁)vagrant 资源,因此如果您想稍后针对基本框创建新 VM,vagrant 需要从 Internet 重新下载。请注意,创建 VM 后,您可以移除该框,vagrant 仍将正常工作,因此vagrant remove
对 VirtualBox 资源没有影响,所有 VM 保持不变
盒子使用注意事项:
你可以拥有同一个盒子的多个版本
$ vagrant box list bento/ubuntu-16.04 (vmware_desktop, 2.3.0) bento/ubuntu-16.04 (vmware_desktop, 2.3.7)
您可以为不同的提供商提供相同版本的盒子
$ vagrant box list bento/ubuntu-16.04 (virtualbox, 201708.22.0) bento/ubuntu-16.04 (vmware_desktop, 2.3.0) bento/ubuntu-16.04 (vmware_desktop, 2.3.7)
推荐阅读
- python - 在 Homebrew 上的 python 2 支持结束后,在 Mac 上安装 python@2
- java - 在 Eclipse 中运行 Spring Boot 应用程序时出现带有分段错误的未处理异常
- c - 我可以在 C 中使用指针作为获取的参数吗?
- html - Bootsrap 固定导航栏没有边距底部
- vuejs2 - 如何清空 Vuex 存储模块状态对象?
- flutter - onBackgroundMessage 打开指定页面
- java - 如何在Java中将字符串表示为二叉树?
- visual-studio-code - 如何使用gnu格式样式格式化vscode中的c代码?
- r - R中的CompareGroup函数_组数大于5时如何编写r代码
- wordpress - WordPress - 使用参数设置自定义帖子类型默认类别(分类术语)