Vagrant常用操作命令

添加 box

命令

$ vagrant box add ADDRESS

Vagrant添加一个具有给定地址的 box。地址可以是以下三种情况之一:

  • 可用的 Vagrant 公共镜像的缩写名称 ,例如detectionlab/win10
$ vagrant box add  detectionlab/win10
  • 本地目录中 box 文件路径或HTTP URL 。对于HTTP,支持基本身份验证,并且http_proxy遵守环境变量。还支持HTTPS
$ vagrant box add win10 D:\vm\virtualbox.box
$ vagrant box add win10 https://vagrantcloud.com/detectionlab/boxes/win10/versions/1.8/providers/virtualbox.box
  • URL直接是一个 box 文件。在这种情况下,您必须指定一个--name标志。
$ vagrant box add https://vagrantcloud.com/detectionlab/boxes/win10/versions/1.8/providers/virtualbox.box --name win10

选项

  • --box-version VALUE -您要添加的box的版本。默认情况下,将添加最新版本。此值可以是确切的版本号,例如"1.2.3",也可以是一组版本约束,例如">=1.0,<2.0"
    $ vagrant box add detectionlab/win10 --box-version "1.6"
    $ vagrant box add detectionlab/win10 --box-version ">=1.6,<1.8"

  • --cacert CERTFILE -用于验证对等的CA的证书。如果远端不使用标准的根CA,应使用此选项。

  • --capath CERTDIR -用于验证对等的CA的证书目录。如果远端不使用标准的根CA,则应使用此选项。

  • --cert CERTFILE -如有必要,在下载box时使用的客户端证书。

  • --clean -如果提供,Vagrant将从先前下载的相同URL中删除所有旧的临时文件。当URL对应的内容已经改变时,不希望Vagrant从上一点继续下载时,可以使用。

  • --force -如果存在,将下载该box并覆盖已存在的同名的box

  • --insecure -如果存在,当URLHTTPS URL时不验证SSL证书。

  • --provider PROVIDER -如果提供,Vagrant将验证您要添加的box是否是给定的提供者。默认情况下,Vagrant自动检测适合的提供者并使用。

box 文件的直接选项

仅当您直接添加box文件时(不使用目录时),以下选项才适用。

  • --checksum VALUE -已下载box的校验和。如果指定,Vagrant会将此校验和与实际下载的校验和进行比较,如果校验和不匹配,则会出错。强烈建议使用此功能,因为文件夹文件太大。如果已指定,则--checksum-type还必须指定。如果要从目录下载,则校验和包含在目录条目中。

  • --checksum-type TYPE - --checksum如果指定了校验和的类型。当前支持的值为md5sha1sha256sha384sha512

  • --name VALUE -box的逻辑名称。这是您要config.vm.boxVagrantfile中输入的值。从目录中添加box时,名称包含在目录条目中,无需指定。

版本化的box或HashiCorp的Vagrant Cloud中的box的校验和:对于HashiCorp的Vagrant Cloud中的box,校验和嵌入在box的元数据中。元数据本身通过TLS提供服务,并且其格式经过验证。

box 列表

命令

$ vagrant box list

列出了Vagrant中安装的所有box

移除 box

vagrant box remove NAME

Vagrant中删除一个与给定名称匹配的box

如果一个box具有多个提供程序,则必须使用该--provider标志指定确切的提供者。如果一个box具有多个版本,则可以选择带有--box-version标志的要删除的版本,或带有标志的所有版本--all

选项

  • --box-version VALUE -版本限制的版本box要删除。

  • --all -删除盒子的所有可用版本。

  • --force -即使活动的Vagrant环境正在使用它,也要强制删除它。

  • --provider VALUE -要删除的提供者专有的box,并使用给定名称。仅当一个box由多个提供者支持时才需要。如果只有一个提供者,Vagrant将默认删除它。

打包

vagrant box repackage NAME PROVIDER VERSION

重新打包给定的box并将其放在当前目录中,以便您可以重新分发它。可以使用vagrant box list查询box的名称、提供者和版本。

当您添加一个box时,Vagrant将其分析并内部存储,原始*.box文件未保留。此命令能够从已安装的Vagrant box中创建一个*.box文件。

更新 box

vagrant box update

如果有可用更新,此命令将更新当前Vagrant环境的box。该命令还可以通过指定--box标志来更新特定的box(在活动的Vagrant环境之外的)。

请注意,该命令不会更新已经在运行的Vagrant机器。为了反映box中的变化,您将不得不销毁并重新启动Vagrant机器。

选项

  • --box VALUE -要更新的特定box的名称。如果未指定此标志,则Vagrant将更新活跃的Vagrant环境的box

  • --provider VALUE-当--box存在时,控制要更新该提供者提供的box。当该box具有多个提供者时是必要的,否则不是必需的。没有该--box是该设置无效。

初始化

vagrant init [name [url]]

通过创建一个初始Vagrantfile(如果尚不存在)来初始化当前目录为Vagrant环境。

如果给出第一个参数,它将在创建的Vagrantfile中预填充config.vm.box

如果提供了第二个参数,它将在创建的Vagrantfile中预填充config.vm.box_url

选项

  • --box-version -(可选)在Vagrantfile中添加 box 版本或版本约束。

  • --force -如果指定,将覆盖任何现有的 Vagrantfile

  • --minimal -如果指定,将创建一个最小的Vagrantfile。该Vagrantfile不包含普通Vagrantfile包含的说明性注释。

  • --output FILE -这会将Vagrantfile输出到给定的文件。如果它是-,则Vagrantfile将被发送到stdout

  • --template FILE -提供用于生成Vagrantfile的自定义ERB模板。

例子

创建一个基本的Vagrantfile

$ vagrant init detectionlab/win10

创建一个最小的Vagrantfile(无评论或帮助程序):

$ vagrant init -m detectionlab/win10

创建一个新的Vagrantfile,覆盖当前路径下的文件:

$ vagrant init -f detectionlab/win10

使用特定的box从指定的box URL创建Vagrantfile

$ vagrant init my-company-box https://example.com/my-company.box

创建一个Vagrantfile,将box锁定到版本约束:

$ vagrant init --box-version ">1.6" detectionlab/win10

启动

$ vagrant up [name|id]

根据您的 Vagrantfile 创建和配置机器 。

这是 Vagrant 中最重要的单个命令,因为这是创建任何 Vagrant 机器的方式。使用Vagrant 的任何人都必须每天使用此命令。

选项

  • name -Vagrantfile 中定义的机器名称

  • id -找到的机器ID vagrant global-status。使用id允许您从任何目录启动vagrant up id

  • --[no-]destroy-on-error -如果发生致命的意外错误,请销毁新创建的机器。只会发生在第一次执行vagrant up时。默认情况下已设置。

  • --[no-]install-provider -如果请求的提供者未安装,则Vagrant将尝试自动安装它。默认情况下启用。

  • --[no-]parallel -如果提供者支持,则并行启动多台机器。

  • --provider x -用指定的提供者启动机器。默认情况下,这是virtualbox

  • --[no-]provision -强制或阻止预配人员运行。

  • --provision-with x,y,z -这只会运行给定的供应者。

关闭

$ vagrant halt [name|id]

关闭 Vagrant 正在管理的运行中机器。

Vagrant 首先将尝试通过运行操作系统关闭机制来正常关闭计算机。如果失败,或者--force 指定了,Vagrant 将有效地切断机器的电源。

对于基于 Linux 的客户机,Vagrant 使用该 shutdown 命令正常终止机器。由于操作系统的不同性质,该 shutdown 命令可能存在于机器的$PATH的不同位置。机器负责正确填充$PATH包含 shutdown 命令的目录。

选项

  • -f--force -不要试图优雅的关闭这台机器。这样可以有效地切断机器的电源。

重新加载

$ vagrant reload [name|id]

等于先执行halt,在执行up

为了使Vagrantfile中的更改生效,通常需要此命令。对Vagrantfile进行任何修改后都应该调用reload从新加载。

默认情况下,配置的预配器将不会再次运行。您可以通过指定--provision标志来强制供应者重新运行。

选项

  • --provision -强制供应者运行。

  • --provision-with x,y,z -这只会运行给定的供应商。

销毁

$ vagrant destory [name|id]

停止正在运行的Vagrant管理的机器,并销毁在机器创建过程中创建的所有资源。运行此命令后,您的机器应保持干净状态,就好像您从未首先创建过机器一样。

选项

  • -f--force -销毁之前不需要确认。
  • --[no-]parallel -如果提供者支持,则并行销毁多台机器。
  • -g--graceful -正常关闭机器。

该destroy命令不会删除用vagrant up安装的机器使用的box。因此,即使您运行vagrant destroy,系统中安装的box仍将存在于硬盘驱动器上。要将机器恢复为vagrant up命令之前的状态,您需要使用vagrant box remove。

查看状态

$ vagrant status

查看 Vagrant正在管理的机器的状态,是正在运行、挂起、未创建等。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vagrant是一个用于构建和管理虚拟开发环境的工具。它可以帮助开发人员快速创建、配置和共享可重复的开发环境。 要安装Vagrant,您可以按照以下步骤进行操作: 1. 首先,您需要下载并安装适用于您操作系统的Vagrant安装程序。您可以从Vagrant官方网站(https://www.vagrantup.com/)上找到适合您操作系统的安装程序。 2. 安装完成后,打开命令行终端(Windows用户可以使用PowerShell或Git Bash),运行以下命令来验证Vagrant是否成功安装: ``` vagrant --version ``` 如果成功安装,您将看到Vagrant的版本信息。 3. 接下来,您需要选择一个虚拟化提供程序来管理虚拟机。Vagrant支持多种虚拟化提供程序,如VirtualBox、VMware等。您可以根据自己的需求选择其中之一,并确保已经安装并配置好了该虚拟化提供程序。 4. 在选择好虚拟化提供程序后,您可以创建一个新的Vagrant项目。在命令行终端中,进入您想要创建项目的目录,并运行以下命令: ``` vagrant init <box> ``` 这里的`<box>`是指您想要使用的虚拟机镜像,也称为"box"。您可以在Vagrant官方网站的"Boxes"页面(https://app.vagrantup.com/boxes/search)上找到各种可用的box。 5. 运行上述命令后,Vagrant将在当前目录下创建一个`Vagrantfile`文件,该文件是Vagrant项目的配置文件。您可以根据需要编辑该文件,配置虚拟机的各种设置,如网络、共享文件夹等。 6. 最后,运行以下命令来启动虚拟机: ``` vagrant up ``` Vagrant将根据`Vagrantfile`中的配置信息创建和启动虚拟机。如果是第一次运行该命令Vagrant可能需要下载并导入虚拟机镜像,这可能需要一些时间。 至此,您已经成功安装并配置了Vagrant。您可以使用`vagrant ssh`命令登录到虚拟机,并使用其他Vagrant命令来管理和操作虚拟机。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值