VAGRANT命令(一)
大部分的Vagrant功能是通过命令行的方式进行交互。在命令行截面运行Vagrant命令所有的帮助信息就会显示出来。如果想看某个命令的帮助信息只需要在vagrant 命令后面加上-h标识符,就会把这个命令的帮助信息显示出来。例如,运行vagrant init -h。帮助就会把vagratn int 的作用和他可以使用的标志符显示出来。接下来将会介绍Vagrant的各个命令和标识符。同时关于环境变量的控制同样可以设置。
BOX
命令:vagrant box
这条命令的作用是管理vagrant box包括添加、删除box等。这条命令的主要功能还是通过各个子命令来实现的。
- add
- list
- outdated
- remove
- repackage
- update
BOX ADD
命令:vagrant box add ADDRESS
这条命令的作用是从ADDRESS中添加一个vagrant box.ADDRESS可以是以下几种形式中的一种:
- vagrant镜像目录中名字的缩写,例如“hashicorp/precise64”
- 文件目录或者vagrant镜像目录的URL。对于HTTP来说支持基本的身份认证并且还支持http_proxy环境变量。HTTPS同样支持
- URL直接指向一个box文件。在这种情况下,必须采用--name 标志符,并且versioning、updates命令不会起作用。
当下载box报错或者是用CTRL-C终止下载的时候,下次启动Vagrant会重新下载。当然他也只会下载24小时内的文件。
选项
- --box-version VALUE----设置需要添加box的版本信息。默认的情况下,最新的版本的box会被添加。VALUE可以是具体的数字例如“1.2.3”或者是一个版本集合。版本集合可以这样写“>=1.0,<2.0”
- --cacert CERTFILE----如果别的机器没有用标准的根目录CA,这个命令用来检测。
- --capath CERTDIR---如果别的机器没有用标准的根目录CA,这个命令用来检测。
- --cert CERTFILE ---如果下载box时需要验证,可以用这个命令。
- --clean ---这个命令的作用是删除之前下载相同URLbox的缓存文件。这个命令主要用于不想Vagrant对于未下载完的box重新进行下载。
- --fore --主要作用是box将会被下载,如果已经存在同名的box,会吧之前的覆盖掉
- --insecure--如果用了这个标识符,当用HTTPS连接的时候就不会进行SSL的检验
- --provider PROVIDER --这个命令的作用是设置虚拟机的程序,默认的情况下,Vagrant会自动检测采用了何种虚拟机程序。
- 对于已经下载下来Box文件的标识符
- --checksum VALUE -这个命令的作用是比较下载文件的校验和当校验和不同时会报错。强烈建议运行一下这个命令,因为box文件太大了。如果采用这个标识符,--cheksum-type标识符也必须指定。当从box目录中下载的时候,校验和已经包含在目录的条目中。
- --checksum-type TYPE --设置校验和的类型。可以采用的值有“md5”,"sha1","sha256"
- --name VALUE --指定box的逻辑命令。这个VALUE就是在Vagrantfile中指定的config.vm.box的值。当从box目录中添加box的时候,这个名字就不需要特别指定
BOX LIST
命令:vagrant box list
这条命令的作用是列出所有已安装的box
BOX OUTDATED
命令: vagrant box outdated
这条命令的作用是告诉你当前所采用的box是否过期。如果采用--glbal标识符,所有的box都会被更新。当然这是需要连接网络的。
选项
- --global --检查所有已安装box的更新,不仅仅是当前虚拟环境的box
BOX REMOVE
命令:vagrant box remove NAME
这条命令的作用是把名字为NAME的box删除掉。如果这个Box有多个虚拟机程序,还需要采用--provider标识符。如果box有不同的版本可以采用--box-version标识符来指定删除哪个版本的或者是用--all标识符删除掉所有的。
选项
- --box-version VALUE--指定某个版本的box删除。
- --all -删除所有的box
- --force --强制删除,即使这个box正在运行中
- --provider VALUE--当有多个不同的虚拟程序时,仅仅删除其中一个。如果只有一个虚拟程序,不需要指定。
BOX REPACKAGE
命令:vagrant box repackage NAME PROVIDERR VERSION
这个命令是重新打包box,这样的话就可以重新分配这个box了。如果想知道box的名字、版本、虚拟机程序可以通过vagrant box list命令获取。当添加一个box时,Vagrant就会把这个box解压缩在内部保存下来。初始的.box文件是没有保存的。这个命令对于重新生成一个.box文件是很有用的。
BOX UPDATE
命令 vagrant box update
如果一个box有更新的话,这个命令就会更新这个box .同时这个命令也可以更新一个指定的box通过采用--box标识符。但是对于一个正在运行的box这条命令是不会更新的。如果想要更新,必须先destroy然后重新生成。通过vagrant box outdated 可以检查box是否更新。
选项
- --box VALUE 指定更新那个box。如果没有指定,vagrant会把所有活跃的box都更新
- --provider VALUE-当采用-box标识符时,这个指定那个虚拟机程序的box更新。只有当存在多个虚拟机程序时这条命令才有效。如果没有--box选项,这个选项也没有什么作用。