vagrant box
这是用于管理(添加、删除等)boxes的命令。
box
是一个打包好的操作系统,是一个后缀名为 .box
的文件,其实是一个压缩包,里面包含了 Vagrant 的配置信息和 VirtualBox 的虚拟机镜像文件
查看现在本机上所拥有的box:
userdeMBP:~ user$ vagrant box list
hashicorp/precise64 (virtualbox, 1.1.0)
现在本机上有hashicorp/precise64这个box
查看命令vagrant box下的子命令有:
https://www.vagrantup.com/docs/cli/box.html
1》add
格式:
vagrant box add [options] <name, url, or path>
添加一个box到本地
userdeMBP:~ user$ vagrant box add -h
Usage: vagrant box add [options] <name, url, or path> Options: -c, --clean Clean any temporary download files清除任何临时下载文件
-f, --force Overwrite an existing box if it exists如果存在,覆盖现有的box
--insecure Do not validate SSL certificates 不验证SSL证书
--cacert FILE CA certificate for SSL download 用于SSL下载的CA证书
--capath DIR CA certificate directory for SSL download 用于SSL下载的CA证书目录
--cert FILE A client SSL cert, if needed 如果需要,客户端SSL证书
--location-trusted Trust 'Location' header from HTTP redirects and use the same credentials for subsequent urls as for the initial one
HTTP重定向的可信“Location”头,并对后续url使用与初始url相同的凭据
--provider PROVIDER Provider the box should satisfy box满意的Provider,即使用的Provider
--box-version VERSION Constrain version of the added box 约束添加的box的版本 The box descriptor can be the name of a box on HashiCorp's Vagrant Cloud,or a URL, or a local .box file, or a local .json file containing the catalog metadata.
box描述符,即<name, url, or path> 可以是HashiCorp vagrant云上的一个box的名称、URL、本地 .box文件或包含目录元数据的本地 .json 文件 The options below only apply if you're adding a box file directly, and not using a Vagrant server or a box structured like 'user/box':
以下选项只适用于你直接添加一个box文件,而不是使用一个vagrant服务器或一个结构类似“user/box”的box: --checksum CHECKSUM Checksum for the box box的校验和
--checksum-type TYPE Checksum type (md5, sha1, sha256) 校验和类型
--name BOX Name of the box 为box起的名字
-h, --help Print this help 打印帮助
⚠️校验和:
Checksums for versioned boxes or boxes from HashiCorp's Vagrant Cloud: For boxes from HashiCorp's Vagrant Cloud, the checksums are embedded in the metadata of the box. The metadata itself is served over TLS and its format is validated
对于版本化的box或来自HashiCorp vagrant云的box的校验和:
对于来自HashiCorp vagrant云的box,校验和嵌入在box的元数据中。元数据本身是通过TLS提供的,它的格式是经过验证的
2》list
格式:
vagrant box list [options]
这个命令列出了安装到Vagrant中的所有boxes
userdeMBP:~ user$ vagrant box list -h
Usage: vagrant box list [options] Options: -i, --box-info Displays additional information about the boxes 显示关于这些boxes的其他信息
-h, --help Print this help 打印帮助信息
3》outdated
格式:
vagrant box outdated [options]
检查正在使用的box是否有可用的新版本。如果传入--global标志,将检查所有boxes是否有更新
检查更新涉及刷新与某个box关联的元数据。这通常需要网络连接
userdeMBP:~ user$ vagrant box outdated -h
Usage: vagrant box outdated [options] Checks if there is a new version available for the box that are you are using. If you pass in the --global flag, all boxes will be checked for updates.
检查正在使用的box是否有可用的新版本。如果传入--global标志,将检查所有boxes是否有更新 Options: --global Check all boxes installed 检查所有已安装的boxes
--insecure Do not validate SSL certificates 不验证SSL证书
--cacert FILE CA certificate for SSL download 用于SSL下载的CA证书
--capath DIR CA certificate directory for SSL download 用于SSL下载的CA证书目录
--cert FILE A client SSL cert, if needed 如果需要,使用的客户端SSL证书
-h, --help Print this help 打印帮助信息
4》prune
格式:
vagrant box prune [options]
此命令删除已安装框的旧版本。如果该箱子目前正在使用,vagrant将要求确认
userdeMBP:~ user$ vagrant box prune -h
Usage: vagrant box prune [options] Options: -p, --provider PROVIDER The specific provider type for the boxes to destroy. 要销毁的指定提供provider类型的boxes
-n, --dry-run Only print the boxes that would be removed. 只打印要删除的boxes
--name NAME The specific box name to check for outdated versions. 要检查的指定过时版本的box名字
-f, --force Destroy without confirmation even when box is in use. 即使box在使用中,也要在未经确认的情况下销毁。即强制销毁
-h, --help Print this help 打印帮助信息
5》remove
格式:
vagrant box remove <name>
此命令从vagrant中删除与给定名称匹配的box
如果一个box有多个providers,必须要使用--provider
标签指定确切的provider;如果一个box有多个版本,你可以使用--box-version
标签选择你要删除的版本,或者使用--all
标签删除所有版本
userdeMBP:~ user$ vagrant box remove -h
Usage: vagrant box remove <name> Options: -f, --force Remove without confirmation. 强制删除
--provider PROVIDER The specific provider type for the box to remove 要删除该指定provider类型的box
--box-version VERSION The specific version of the box to remove 删除该指定版本的box
--all Remove all available versions of the box 删除box的所有可用版本
-h, --help Print this help 打印帮助信息
6》repackage
格式:
vagrant box repackage <name> <provider> <version>
这个命令重新打包给定的box,并将其放到当前目录中,以便你可以重新分发它。可以使用vagrant box list
命令检索该box的名称、provider和版本。
当你添加一个box时,Vagrant会将其解包并存储在内部。原来的*.box
文件不保存。这个命令对于从安装的vagrant box 回收*.box文件
非常有用。
只有-h,--help 这个option
7》update
格式:
vagrant box update [options]
如果在当前vagrant环境下有可用的更新,此命令将对box进行更新。该命令还可以通过指定--box标志更新特定的框(在活动的vagrant环境之外)。
请注意,更新此box不会更新已经运行的vagrant机器。为了反映box里的变化,你必须摧毁并重新启动这台vagrant机器
如果你只是想检查是否有可用的更新,请使用vagrant box outdated
命令
userdeMBP:~ user$ vagrant box update -h
Usage: vagrant box update [options] Updates the box that is in use in the current Vagrant environment,if there any updates available. This does not destroy/recreate the machine, so you'll have to do that to see changes.
如果有可用的更新,则更新当前vagrant环境中使用的box。这不会破坏/重新创建机器,所以你必须这样做才能看到更改。 To update a specific box (not tied to a Vagrant environment), use the --box flag.
要更新特定的框(不绑定到vagrant环境),请使用--box标志 Options: --box BOX Update a specific box 更新指定的box
--provider PROVIDER Update box with specific provider 更新指定provider的box
-f, --force Overwrite an existing box if it exists 只要存在就强制复写该存在的box
--insecure Do not validate SSL certificates 不验证SSL证书
--cacert FILE CA certificate for SSL download 用于SSL下载的CA证书
--capath DIR CA certificate directory for SSL download 用于SSL下载的CA证书目录
--cert FILE A client SSL cert, if needed 如果需要,使用的客户端SSL证书
-h, --help Print this help 打印帮助信息