Vagrant基本命令详解

Vagrant基本命令详解

正在学习Docker Swarm,接触到了Vagrant。Vagrant是一个创建虚拟机的技术,可以把它认为是一个Vmware,它让我们可以通过代码的方式快速地、可重复地创建针对不同虚拟环境的虚拟机,包括Virtualbox、AWS、Docker等。它使得我们可以一次性地、自动创建多个环境相同的虚拟机,对于软件开发和测试尤其有用,以下是在使用过程中常用到的一些基本命令。

1. 显示当前版本

# vagrant --version Vagrant 2.0.2 

2. 列出所有Box

#vagrant box list iamseth/rhel-7.3 (virtualbox, 1.0.0) 

3. 添加一个Box

#vagrant box add [options] <name, url, or path> 

1)可以从https://app.vagrantup.com/boxes/search下载各种Vagrant映像文件

#vagrant box add ubuntu/trusty64 

2) 通过指定的URL添加远程box

#vagrant box add https://atlas.hashicorp.com/ubuntu/boxes/trusty64 

3) 添加一个本地box

命令格式如下

# vagrant box add {box_name} {file_path} 

示例如下:

# vagrant box add CentOS7.1 file:///D:/Work/VagrantBoxes/CentOS-7.1.1503-x86_64-netboot.box 

4. 初始化一个新VM

# vagrant init ubuntu/trustry64 

此命令会在当前目录创建一个名为Vagrantfile的配置文件,内容大致如下:

Vagrant.configure("2") do |config| config.vm.box = "ubuntu/trusty64" end 

当在此目录启动Vagrant后,Vagrant会从互联网下载“ubuntu/trusty64”这个box到本地,并使用它作为VM的映像。

5. 初始化一个新VM

# vagrant up 

如果我们想启动任意VM,首先进入有Vagrantfile配置文件的目录,然后执行上面的命令。控制台的输出通常如下:

Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'ubuntu/trusty64'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'ubuntu/trusty64' is up to date... ==> default: Setting the name of the VM: start_default_1518789015107_16928 ==> default: Clearing any previously set forwarded ports... Vagrant is currently configured to create VirtualBox synced folders with the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant guest is not trusted, you may want to disable this option. For more information on this option, please refer to the VirtualBox manual: https://www.virtualbox.org/manual/ch04.html#sharedfolders This option can be disabled globally with an environment variable: VAGRANT_DISABLE_VBOXSYMLINKCREATE=1 or on a per folder basis within the Vagrantfile: config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 4.3.36 default: VirtualBox Version: 5.2 ==> default: Mounting shared folders... default: /vagrant => /Users/qianlong/DockerProjects/vagrant/start 

6.启用SSH登陆VM

进入Vagrantfile配置文件所在的目录,执行以下命令:

# vagrant ssh 

如果需要从虚拟机中退出,直接在虚拟机中的命令行输入exit命令即可

7. 查看VM当前的状态

进入Vagrantfile配置文件所在的目录,执行以下命令:

# vagrant status 

如果VM正在运行,你可以在控制台中看到如下信息:

Current machine states: default running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`. 

8.关闭VM

进入Vagrantfile配置文件所在的目录,执行以下命令:

# vagrant halt 

9.销毁VM

命令格式如下:

vagrant destory [name|id] 

示例如下:

# vagrant destroy ubuntu/trusty64 

如果我们是使用了默认的虚拟机名”default”,那其实我们可以直接输入如下命令销毁VM

# vagrant desotry 

运行结果如下:

 default: Are you sure you want to destroy the 'default' VM? [y/N] y ==> default: Forcing shutdown of VM... ==> default: Destroying VM and associated drives... 

需要注意的是,我们要慎重使用该命令,该命令会停止VM的运行,并销毁所有在VM中创建的资源

 

作者:蓝色的咖啡

链接:https://www.jianshu.com/p/b7d599403aa6

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112341.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 免费pdf转word在线转换器[通俗易懂]

    免费pdf转word在线转换器[通俗易懂]免费pdf转word在线转换器   在办公环境下如何将PDF转换成Word,是不少上班族普遍需要了解的问题之一。面对上百份需要处理的文档,其实否不用安装专业的PDF转Word转换器,借助免费PDF转Word在线转换器就能轻松帮你搞定PDF转Word问题。  最新发布的迅捷免费pdf转word在线转换器,是目前转换效果最好的转换工具,能够轻松实现批量PDF文件的转换,对于个人或者企业用户来说

    2022年6月12日
    30
  • 打包报错:Generate Signed APK: Errors while building APK. You can find the errors in the ‘Messages‘ view.

    打包报错:Generate Signed APK: Errors while building APK. You can find the errors in the ‘Messages‘ view.

    2021年10月2日
    131
  • python粒子群算法的实现「建议收藏」

    python粒子群算法的实现「建议收藏」参考博客:http://blog.csdn.net/zuochao_2013/article/details/53431767?ref=myreadhttp://blog.csdn.net/chen_jp/article/details/7947059算法介绍粒子群算法(particleswarmoptimization,PSO)由Kennedy和Eberhart在1995年…

    2022年5月8日
    44
  • linux.zip文件怎么解压,linux怎么解压zip文件[通俗易懂]

    linux.zip文件怎么解压,linux怎么解压zip文件[通俗易懂]ZIP是最广泛使用的归档文件格式,支持无损数据压缩。ZIP文件是包含一个或多个压缩文件或目录的数据容器在此文中将向您展示如何使用unzip命令通过命令行解压缩Linux系统中的文件Unzip命令,可帮助您列出,测试和提取压缩的ZIP归档安装unzip默认情况下,大多数Linux发行版中都没有安装Unzip,但您可以使用发行版的软件包管理器安装它。在Ubuntu和Debian上安装unzipsudo…

    2022年5月11日
    40
  • J2EE架构师之路

    J2EE架构师之路不经意的回首,工作进入第五个年头了,发现走过了从Java程序员到J2EE架构师的历程。发现电脑上安装了各种各样的J2EE工具:JBuilder,WSAD,Eclipse,Rose,Together,Weblogic,Jtest,Optimizator,Mysql…发现电脑上保存了各种各样的OpenSource项目:Tomcat,JBoss,Ant,Hibernate,Spr

    2022年6月30日
    19
  • 3.RT-thread 项目实战–LED驱动及finsh组件调试

    3.RT-thread 项目实战–LED驱动及finsh组件调试RT-thread在19年12月份推出了一个很好用的工具RT-threadstdio,比Env更加的方便,接下来的代码开发我们就使用这个工具进行,不使用keil和IAR了。工具的一些配置和入门使用直接看官方的教学视频就可以了,这里我们不做过多的介绍,下面开始进入今天的正题。打开我们的软件后,点击文件–》新建–》RT-thread项目,然后取个项目名字,就叫temp_prj吧,然…

    2022年5月21日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号