1.新建虚拟机
创建一个目录
mkdir helloworld
cd helloworld
初始化虚拟机
vagrant init centos-7
其中的centos-7
是CentOS7的box名字,也就是通过vagrant box add
加载的box的名称。
vagrant box add E:\VirtualBox\box\CentOS-7.box --name centos-7
这个命令会生成一个Vagrantfile文件,这里的名字没指定或者写错了都没关系,后面需要根据具体情况编辑这个Vagrantfile文件。
2.启动虚拟机
执行命令
vagrant up
命令行执行日志
注意到这里包含的信息:
- 虚机名称:helloworld_default_1685588926875——93754
- 网卡:Adapter 1: nat,第一块网卡,NAT 模式,这是固定的
- 端口转发:
22 (guest) => 2222 (host) (adapter 1)
,把虚机的22端口,映射到宿主机的2222端口上,这样就可以通过127.0.0.1:2222
访问虚拟机了 - SSH 用户名:vagrant,这里使用 private key 登录;密码也是vagrant,但是密码方式仅供直接登录,是不能通过SSH 登录的。另外,还有一个root用户,密码也是vagrant。
执行成功后,VirtualBox显示
3.查看虚拟机状态
vagrant status
vagrant status
命令执行后,还提示了一些如何操作虚拟机的命令。
#关闭虚拟机
vagrant halt
#暂停虚拟机
vagrant suspend
#启动虚拟机
vagrant up
4.连接虚机
- 命令行方式
执行如下命令
vagrant ssh
就能以vagrant用户直接登入虚拟机中
切换到root用户
另外,需要root用户权限的命令也可以通过在命令前添加sudo
来执行,或者也可以执行sudo -i
直接切换到root用户来执行。
打开VirtualBox程序,可以看到通过命令vagrant up
创建的虚机
- VirtualBox界面方式
也可以在VirtualBox的终端上登录系统,默认的登录用户名和密码都是 vagrant。
登录
当然还可以使用其它的 SSH 连接工具例如:XShell,SecureCRT连接,但是这里默认网卡使用的是NAT模式,没有指定IP,实际应用并不方便,在后面介绍网络配置时再介绍。
5.虚拟机其他操作命令
- 停止
vagrant halt
直接在 VirtualBox 上关闭虚拟机,或者直接在虚拟机内部执行 poweroff 命令也都是可以的。
- 暂停
vagrant suspend
- 恢复
把暂停状态的虚拟机恢复运行
vagrant resume
注意: 不管虚拟机是关闭还是暂停状态,甚至是 error 状态,都可以执行 vagrant up 来让虚机恢复运行。
- 重载
执行下面的命令会重启虚拟机,并且重新加载 Vagrantfile 中的配置信息。
vagrant reload
- 删除
执行下面的命令可以彻底删除虚拟机,包括整个虚拟机文件。
vagrant destroy
注意:上面所有的 vagrant 命令都需要在 Vagrantfile 所在的目录下执行。
https://davycloud.com/post/vagrant-virtualbox-tutorial/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。