1. Vagrant
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。
1.1 安装Vagrant
从Vagrant官网下载安装包,执行安装。
1.2 安装VirtualBox
从官网下载VirtualBox,执行安装,设置虚拟机的安装位置,默认会安装在C盘,避免系统盘资源占用。
1.3 注册Vagrant引导文件
box是Vagrant环境的包格式。您可以在
最快的入门方法是从Vagrant Cloud上的公开目录中选择一个预定义的盒子环境。您还可以在Vagrant Cloud上添加和共享您自己的定制盒子。
这里安装Centos7,可以从Vagrant Cloud中找到对应的安装步骤,
打开cmd,执行上述命令,会在
vagrant init centos/7 vagrant up
执行
第一次需要下载系统所以较为缓慢。
等待启动完成后,可以在VirtualBox中看到该虚拟机的配置信息。
当下次需要启动虚拟机时,可以在cmd中执行
2. 用户管理
Vagrant创建的虚拟机自带一个普通用户
在默认情况下,使用ssh连接工具访问虚拟机时需要身份文件和密码双重登录,这里可以在cmd中输入
Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile C:/Users/DoGH/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL PubkeyAcceptedKeyTypes +ssh-rsa HostKeyAlgorithms +ssh-rsa
在登录了虚拟机后,切换至root用户,并设置登录密码
# 切换至root用户 sudo -i # 设置密码 passwd
为了能直接使用用户名密码登录虚拟机,需要修改
PermitRootLogin yes PasswordAuthentication yes
该文件需要root用户登录才能被修改。
3. 配置网络
Vagrant为如何将客户机连接到网络提供了多种选择,但是有一个标准的使用模式,以及所有网络配置的一些共同点,这些都很重要,需要了解。
所有网络都在Vagrantfile中使用config.vm.network方法调用进行配置。例如,下面的Vagrantfile定义了一些端口转发:
Vagrant.configure("2") do |config| # ... config.vm.network "forwarded_port", guest: 80, host: 8080 end
这里固定虚拟机的IP地址,如下
Vagrant.configure("2") do |config| config.vm.network "public_network", ip: "192.168.56.10" end
这里IP的规划要与本机的Virtual虚拟网卡地址在统一网段。
保存Vagrantfile,重启虚拟机(vagrant reload),虚拟机的网络配置就已发生了改变。