1. 虚拟机环境的安装
- vagrant是虚拟机的命令运行软件,负责将虚拟镜像运行在virtualbox里面
- virtualbox是虚拟机运行的环境
- box是虚拟机运行的镜像
- 1)vagrant下载与安装
首先在home目录下建立自己的文件夹
#创建目录
mkdir /home/vagrant
#进入目录
cd /home/vagrant
下载vagrant,自己需要的版本,去vagrant官网找
vagrant官网:https://www.vagrantup.com/downloads.html
#下载
wget https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.rpm
#下载完成以后运行安装命令
yum install -y vagrant_2.2.6_x86_64.rpm
- 2)virtualbox的下载与安装
下载virtualbox,同样也去官网赵自己需要的版本
virtualbox官网:https://www.virtualbox.org
#下载
wget https://download.virtualbox.org/virtualbox/6.0.14/VirtualBox-6.0-6.0.14_133895_el7-1.x86_64.rpm
#下载完成以后,安装virtualbox
yum install -y VirtualBox-6.0-6.0.14_133895_el7-1.x86_64.rpm
- 2)box的下载与安装
官方网站:https://app.vagrantup.com
centos
下载地址:http://cloud.centos.org
首先在/home/vagrant建立一个目录存放我们的box
#创建目录
mkdir /home/vagrant/box
#进入目录
cd /home/vagrant/box
#下载box
wget http://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7.box
/home/vagrant/box 目录下面会下载一个文件“CentOS-7.box”
将box增加到vagrant 程序里面
vagrant box add centos7 /home/vagrant/box/CentOS-7.box
box查看及删除(非必须操作项)
#增加成功以后,可以查看一下
vagrant box list
#删除box镜像,请不要随意执行
vagrant box remove centos7
2. 虚拟系统的安装
- 1)初始化虚拟系统
创建一个目录存储我们需要初始化的系统文件,例如test,执行初始化命令
#创建文件夹
mkdir test
#初始化系统
vagrant init centos7 #依据我们增加的centos7名称的镜像初始一个虚拟机
成功以后,会在test文件夹下面生成一个“Vagrantfile”文件,这个是我们的配置文件。
- 2)配置我们的虚拟系统
这里我只演示外网可以访问的配置。
首先在宿主机上面查看网卡
ip a
找到连接外网的网卡名,拷贝“enp94s0f0”(这个名字跟你网卡相关)出来待用
3: enp94s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether e8:61:1f:25:4d:e8 brd ff:ff:ff:ff:ff:ff
inet 10.10.XX.XX/23 brd 10.XX.XX.XXX scope global enp94s0f0
valid_lft forever preferred_lft forever
inet6 2400:dd01:1001:1026:ea61:1fff:fe25:4de8/64 scope global mngtmpaddr dynamic
valid_lft 2591808sec preferred_lft 604608sec
inet6 fe80::ea61:1fff:fe25:4de8/64 scope link
valid_lft forever preferred_lft forever
编辑配置文件
vim Vagrantfile
修改内容如下:
Vagrant.configure("2") do |config|
config.vm.box = "centos7"
# 主要是这里,意思是使用与宿主机相同的网卡和网络,配置一个固定IP(这个也可以不配置),使用“enp94s0f0”名的网卡
config.vm.network "public_network",ip: "10.32.x.xx",bridge: "enp94s0f0", auto_config: false
# 这里只配置的使用的内存大小,还可以配置CPU等其他信息
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
end
end
修改完成以后,启动虚拟机,第一启动需要初始化,第二次启动如果配置文件不改,就不需要初始化。如果配置文件修改了,还会再初始化。
#注意,需要在Vagrantfile的目录文件夹里面,执行本命令
vagrant up
到这里,所有的虚拟机安装,就完成了。
- 3)使用和精细配置
如果需要本地登录虚拟机,在虚拟机的工作文件夹,Vagrantfile文件存放的目录
#登录虚拟机机
vagrant ssh
用户和密码:vagrant/vagrant,root用户的密码也是vagrant.
3. 可能存在的问题
- 1)虚拟机的IP在局域网访问,但是无法被外网访问?
回答:你需要进入虚拟机,配置虚拟机的网卡。网卡的配置,你可以拷贝某个物理机器的网络配置,修改网卡的UUID和IP地址即可。
- 2)如何设置开机运行虚拟机?
参考博客
Centos7开机启动自己的脚本的方法
简单的步骤如下:
- 2.1)编写自己的启动脚本test.sh,脚本里面的命令跟你在终端输入的命令一致,#!/bin/bash表示是某种语言的脚本,默认不能删。
#!/bin/bash
cd /home/vagrant/test
vagrant up
- 2.2)执行如下命令将/etc/rc.d/rc.local文标记为可执行文件
chmod +x /etc/rc.d/rc.local
- 2.3)打开/etc/rc.d/rc.local文件,在最后面添加如下脚本
vim /etc/rc.d/rc.local
增加以下脚本
/home/vagrant/test/test.sh