- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以对于 Vagrant 来说,我是一个初学者。在浏览与之相关的在线内容和文档时,我遇到了 3 个 Vagrant 命令,即“销毁”、“删除”和“停止”。有人能说清楚他们到底会做什么吗?
我知道:DESTROY:此命令停止 Vagrant 正在管理的正在运行的机器,并销毁在机器创建过程中创建的所有资源。运行此命令后,您的计算机应该处于干净状态,就好像您从未创建过 guest 计算机一样。
HALT:此命令关闭 Vagrant 正在管理的正在运行的机器。
REMOVE:此命令从 Vagrant 中删除与给定名称匹配的框。那么这会从硬盘中删除盒子吗?
我无法想象这些命令的区别。我的感觉是停止就像关闭虚拟机一样。资源还是分配给它的。destroy 就像没有虚拟机存在的状态。
删除意味着,甚至删除盒子。所以你必须重新下载它。这是正确的吗?
最佳答案
(凯文回答正确,+1!我只是为 Vagrant 初学者提供更多信息)
首先你需要了解 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
(实际上这已经是一个虚拟机,它将成为进一步虚拟机的基础镜像)下载 Box 后,它会保留在您的 $HOME/.vagrant.d/boxes
文件夹中,并可用于任何其他 Vagrantfile您可以下载任意数量的box并将它们存储在您的.vagrant.d
文件夹中,您可以看到正在运行的可用box的列表
$ vagrant box list
可以看到当前vagrant所管理的虚拟机正在运行
$ vagrant global-status
现在回答您的问题,该命令将产生不同级别的影响:
Vagrant 停止
您理解正确 - 您可以查看我之前的答案以进一步阅读 In Vagrant which is better out of halt and suspend?
Vagrant 销毁
此命令会销毁所有虚拟机资源(但不包括任何 Vagrant 资源),因此所有 VirtualBox 虚拟机文件都会被销毁,但虚拟机保持不变。在虚拟机上运行 vagrant destroy
后,您可以通过运行 vagrant box list
进行检查,所有框均保持不变。
Vagrant 删除
此命令会删除(销毁)vagrant 资源,因此如果您想稍后在基础盒子上创建新的虚拟机,vagrant 需要从互联网重新下载。请注意,创建虚拟机后,您可以删除该框,vagrant 仍将正常工作,因此 vagrant remove
对 VirtualBox 资源没有影响,并且所有虚拟机保持不变
盒子使用注意事项:
同一个盒子可以有多个版本
$ vagrant box list
bento/ubuntu-16.04 (vmware_desktop, 2.3.0)
bento/ubuntu-16.04 (vmware_desktop, 2.3.7)
您可以为不同的提供商提供相同版本的 Box
$ 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)
关于vagrant - vagrant remove、halt 和 destroy 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53639273/
由于我在一个团队中工作,我想让与 vagrant(和 Chef-solo)一起工作的过程尽可能顺利。 当团队中的某人更改厨师食谱、角色或其他任何内容时,我希望所有其他团队成员通过在下一个“Vagran
在学习了几天之后,我很高兴能够成功设置我的 VM 并运行 Laravel 起始页。在那里很开心:) 有人可以澄清“何时”使用 Vagrant 函数。我的问题: 如果我打算关闭我的电脑,你应该使用 ha
如果我更改了配置脚本或更糟的基本操作系统,有没有办法强制 vagrant 重新配置或重新下载基本框?我试图改变 config.vm.box和 config.vm.box_url ,但是 vagrant
默认情况下,vagrant将框提取到用户主驱动器-%HOMEDRIVE%\.vagrant.d\boxes。这是在网络位置上。虽然有利于可靠存储,但速度非常慢。 如何更改盒子的位置? 最佳答案 当然。
我的系统上有许多测试 Vagrant 盒,我正在整理它们。我安装了插件,例如vagrant plugin install vagrant-hostsupdater和vagrant plugin ins
我的系统上有许多测试 Vagrant 盒,我正在整理它们。我安装了插件,例如vagrant plugin install vagrant-hostsupdater和vagrant plugin ins
我在理解他们网站上的 vagrant 工作流程时遇到了一些麻烦。 我之前一直在做一个项目,经历了更改目录和设置 vagrant box 等的整个过程。我什至运行了 bundle install 来安装
我在一个盒子上有一些相当复杂的配置,之后我想以编程方式做等效于 vagrant reload 的事情。 . 我见过的最好的解决方案是 here ,但是该链接上的代码似乎在 Vagrant 1.4+ 上
我无法在 Windows 7 机器上在我们的公司代理后面执行 vagrant up(或 vagrant add)。我尝试过使用和不使用 http_proxy/https_proxy 环境变量。我尝试将
是否可以将配置脚本中的值返回给 vagrant? response = config.vm.provision( "shell", path: "script.sh" ) if response =
这两个 Vagrant 插件有什么区别?我正在使用 vagrant-hostmanager,它可以更新主机上的/etc/hosts 文件,以及 guest 机器上的文件,支持多机 vagrant 设置
我正在使用vagrant和ansible来配置虚拟机,并且工作正常。这个可笑的剧本克隆了一个git repo,安装了它并运行了一个服务守护进程。 我还希望有一个无所事事的命令,该命令执行一个单独的“更
在浏览 Vagrant 教程时,我看到了两种在主机和 guest 计算机之间共享文件夹的选项 - 共享文件夹和同步文件夹。它们之间有什么区别? 或者,在 Vagrant 2 中,同步文件夹是共享文件夹
我在 Vagrant 中遇到同步文件夹的问题。我的配置非常简单: Vagrant.configure(2) do |config| config.vm.box = "ubuntu/xenial64
我正在尝试提供一个主-主MySQL对,并且只有它们都启动时才能正确配置它们。 Vagrant.configure("2") do |config| web.vm.box = "centos/7"
我已经在目录D:\vagrant\precise32\02-lamp\中执行了以下命令(在Windows中,使用Git Bash) $ vagrant box add precise32 http:/
尝试使用 Vagrant 的安装程序在 Windows 7 X64 上安装 Vagrant - vagrant_1.7.0.msi 安装正常,但无法使用 vagrant。在任何命令上,例如 vagra
我想禁用VirtualBox Guest Additions。我不会将它们用于文件夹同步等操作,对于我正在使用的盒子(例如centos / 7),无论如何它们都无法构建。有什么办法告诉流浪汉不要尝试在
我在 VirtualBox 上使用 Vagrant。昨天,我通过运行保存了我的项目的快照: $ vagrant snapshot save 'my-project-date-time' 今天,我对我想
我使用来自 vagrant init 的默认配置配置了 Vagrant (1.7.4)在 OS X (10.11.4) 上使用最新版本的 VirtualBox (5.0.16 r105871) 和最新
我是一名优秀的程序员,十分优秀!