神之虚拟机 vagrant + vitualbox

还在用vmware的程序猿一定要试试vagrant + vitualbox,接下来开始正文

下载安装

安装虚拟机 vitualbox

首先安装vitualbox vitualbox官网下载,傻瓜式安装。也可以使用vagrant + vmware,不过这个是要收费的。

vitualbox 安装问题

vitualbox安装过程中可能需要安装一个Microsoft Visual C++ Redistributable packages扩展依赖,我这里是装的7.0.0版本需要装个2019的,可以直接到这个网站进行下载,选择2015-2022的那个即可。

安装管理工具 vagrant

在 vagrant 官网下载页 下载,根据系统选择安装版本,我是用的64位的,下载后也是傻瓜式安装。

使用vagrant 创建 centos7

从vagrant 搜索首页 进去,在里面搜索centos/7 vagrant box进入,如下图
神之虚拟机 vagrant + vitualbox_第1张图片
接下来创建一个目录 centos7,在该目录下打开cmd窗口,执行

vagrant init centos/7 

此命令会在执行目录下生成一个Vagrantfile文件

启动虚拟机

执行命令 vagrant up,然后就是等待下载box镜像,安装速度会有点慢,不想等待的可以去这里下载自行下载,自行下载的需要以下操作

 下载好的xxx.box放到centos7目录,执行添加镜像的命令,添加后直接启动即可
 添加镜像 vagrant box add xxx.box --name centos/7   //在list中会显示设置的名字,例如centos/7
 查看镜像 vagrant box list
 创建init vagrant init centos/7
 启动镜像 vagrant up

安装成功以后,就可以在vitualbox中看到刚安装虚拟机了(我这是历史的截图)
神之虚拟机 vagrant + vitualbox_第2张图片

vagrant ssh 命令行进入虚拟机

 进入虚拟机 vagrant ssh
 修改root的密码 sudo passwd root 
 使密码生效 systemctl restart sshd

执行命令vagrant ssh ,可以直接进入到虚拟机系统,但此时我们用xshell工具还不能连接,只有设置密码且生效后才能用工具连接。

Vagrantfile文件设置静态IP和资源限制

经过上述操作,我们已经使用vagrant + vitualbox 创建并启动了一个centos7的虚拟机,接下来我们要设置局域网访问以及资源的控制
打开前面init生成的Vagrantfile文件

  • 局域网可访问的静态IP ,找到这行# config.vm.network “public_network”,打开并修改

  config.vm.network "public_network", ip: "192.168.0.220"
 
  • 内存,cpu配置 # config.vm.provider “virtualbox” do |vb|
  config.vm.provider "virtualbox" do |vb|
       vb.memory = "2048" #最大可用内存
	   vb.name= "centos7" #虚拟机名称
	   vb.cpus= 2 #最大可用cpu核心数
  end

接下来启动,就不要设置静态ip了。

启动虚拟机问题

1.虚拟环境
Stderr: VBoxManage.exe: error: Not in a hypervisor partition (HVP=0) (VERR_NEM_NOT_AVAILABLE). VBoxManage.exe: error: VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
默认操作系统是不支持开启虚拟环境的,需要进入到BIOS页面找到Security -> Virtualization -> 把里面的disabled改为enabled,最后选择F10保存重启即可。

2.虚拟机网卡问题
启动时一直提示这个,导致无法正常启动
homestead: Which interface should the network bridge to?
解决方案:打开网络连接->右键属性里面,正常是会有这个服务的
神之虚拟机 vagrant + vitualbox_第3张图片
如果没有则需要安装服务,点安装 - 选择服务 - 添加
神之虚拟机 vagrant + vitualbox_第4张图片
选择从磁盘安装
神之虚拟机 vagrant + vitualbox_第5张图片
路径为C:\Program Files\Oracle\VirtualBox\drivers\network\netlwf,这是默认的安装路径,如果是自定义安装目录的,则在你自定义目录下

安装成功后,最好是去任务管理器里面杀掉ruby或者vagrant进程再使用vagrant up来启动虚拟机

命令详解

  1. 基本使用命令
 初始化vagrant文件 vagrant init 会在执行目录生成一个文件,可以配置虚拟机信息和网卡
 添加镜像 vagrant box add xxx.box 
 查看镜像 vagrant box list
 vagrant up 启动
 vagrant halt 优雅关闭
 vagrant suspend   # 挂起虚拟机
 vagrant resume    # 唤醒虚拟机
 vagrant sshd-config 查看账户密码网站等

 vagrant ssh 命令行进入虚拟机
 passwd 修改密码 
 systemctl restart sshd 使密码生效
  1. 打包生成新的镜像
vagrant package --output docker-centos7.box  可得到镜像 	docker-centos7.box
  1. xhsell连接基础命令
#拖拽上传下载
yum -y install lrzsz

liunx 时间设置
# 修改时区
export TZ='Asia/Shanghai'
# 使时区生效
source ~/.bashrc

#静态IP设置
/etc/sysconfig/network-scripts/ifcfg-eth0(网卡名)
BOOTPROTO="static" #修改
IPADDR="192.168.0.220"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1" #在主机配置中看到的默认网关
BROADCAST="192.168.0.255"
DNS1=192.168.0.1 #设置和网关一样的值

重启网络 service network restart

电脑设置通电自启

在很多时间由于停电或者断电导致电脑关机了,这个时候又来电了还要人工去启动,没有那么及时,那就可以这么做
例如ThinkPad来说,开机按F1进入进入BIOS,找到Config中的Power Manager进来打开这个设置。

然后F10保存重启,就设置好了通电自启了。

重启后自动启动

接上面,在Windows中如果出现断电或者电脑更新重新启动了后怎么设置虚拟机自动重启呢?其实很简单
首先准备一个自定义启动脚本

#和centos7_2在同一个目录
cmd /k "cd centos7_2 && vagrant up"

将脚本的快捷方式添加到自动启动目录,例如C:/pramageData/...里面,该目录是隐藏目录,需要勾选显示隐藏目录才能看到。
或者在 Win+r 的窗口中输入 shell:Startup也可以直接到自启动目录

将快捷方式丢到该目录即可。这样如果用来跑些爬虫或者采集内的项目,完全不用人工干预了。

到此就是 vagrant + vitualbox 虚拟机的安装使用的全部内容了,行动起来吧。

上一篇:java 开发进阶之路
下一篇:部署神器 – docker,一文带你从开发变运维

人不懒,学不停

你可能感兴趣的:(VM虚拟机,vagrant,运维,linux)