admin管理员组文章数量:1608937
Vagrant使用 Beta
Destroy
销毁将会使客户机器从宿主机的磁盘上全部抹掉,一旦客户机被销毁将会回到最原始的状态,就像你从没有启动过一样,要注意的是使用这个命令会丢失你所有的文件和数据,不过好处就是客户机被销毁了,宿主机就会恢复到原先的状态,不会占用多余的磁盘空间,不会有和客户机相关的进程来消耗我们的CPU和内存资源,尤其是像我这种电脑配置不是很高的,用完就销毁还是可以节约很多的资源开销的。
下面就是vagrant destroy命令的运行状态:
$ vagrant destroy
Are you sure you want to destroy the 'default' VM? [y/N] y
[default] Forcing shutdown of VM...
[default] Destroying VM and associated drives...
$ vagrant status
Current machine states:
default not created (virtualbox)
The environment has not yet been created. Run `vagrant up` to create the environment. If a machine is not created, only the default provider will be shown. So if a provider is not listed, then the machine is not created for that environment
客户机在销毁之前会让你确认是否执行这个拉风的命令,一单你输入了Y确定,就会销毁你所有没有和宿主机共享的文件,如果你不想核实是否销毁也可以直接的跳过,命令如下:
$ vagrant destroy --force
[default] Forcing shutdown of VM...
[default] Destroying VM and associated drives.
然后,当你再次启动的时候会重新的创建虚拟客户机:
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider... [default] Importing base box 'precise64'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports... [default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces... [default] Preparing network interfaces based on configuration... [default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 80 => 8080 (adapter 1)
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes. [default] VM booted and ready for use!
[default] Configuring and enabling network interfaces... [default] Mounting shared folders...
[default] -- /vagrant
Provisioning Your Vagrant VM( 预配你的vagrant 虚拟机)
根据前面的介绍我们知道了,可以简单的运行vagrant up开启一个已经准备好的完整开发环境,也就是说所有项目必备的相关软件已经在客户机中预安装好了,这里有两种方式可以做到这点:1 ,直接的将软件嵌进box中 2 , 预安装软件作为启动的一部分在启动的时候自动下载安装。预配器就是属于第二种。
我们在练习的过程中,安装的客户机一般都是裸机,能够运行最小环境的软件安装预安装数量。
预配器同时支持shell scripts, Chef, or Puppet. 如果需要可以通过插件添加它。
为啥需要自动预配器?
自动的预配器有三个好处:易上手,重复用,缩小开发和生产环境之间的差距。真是可怜看到这突然想到,可能很多人都没有三个优点。
很多的开发着一般都会在服务器被创建的时候手动的从机器上复制,粘贴上传到对应的服务器上,但是当我们需要连接多个服务器时,可能会因为服务器之间的细微差距导致文件句柄耗尽,或数据库版本不兼容等一些其他的我想不到和没有碰到的问题。。。因为这些不可预测的问题,加上开发进度调的持续滚动,让我们没有那么多的时间去处理这些问题,就会出现一个常见的踢皮球的问题“这个项目在我的机器上运行时正常的”。
支持的预配器
Vagrant支持的预配器有shell scripts, Chef, or Puppet,对于新手来说经常会有疑惑那个预配器时Vagrant用的。最常听到的就是Chef or Puppet比较合适,但是它们都太复杂了。(Chef or Puppet说实话在我准备翻译这本书的时候,从来都没有听过这两个东西时啥,就是现在我也说不清,读者有兴趣
版权声明:本文标题:vagrant 使用 Beta 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728561490a1163894.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论