还在用vmware的程序猿一定要试试vagrant + vitualbox,接下来开始正文
首先安装vitualbox vitualbox官网下载,傻瓜式安装。也可以使用vagrant + vmware,不过这个是要收费的。
vitualbox安装过程中可能需要安装一个Microsoft Visual C++ Redistributable packages扩展依赖,我这里是装的7.0.0版本需要装个2019的,可以直接到这个网站进行下载,选择2015-2022的那个即可。
在 vagrant 官网下载页 下载,根据系统选择安装版本,我是用的64位的,下载后也是傻瓜式安装。
从vagrant 搜索首页 进去,在里面搜索centos/7 vagrant box进入,如下图
接下来创建一个目录 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 ssh
修改root的密码 sudo passwd root
使密码生效 systemctl restart sshd
执行命令vagrant ssh
,可以直接进入到虚拟机系统,但此时我们用xshell工具还不能连接,只有设置密码且生效后才能用工具连接。
经过上述操作,我们已经使用vagrant + vitualbox 创建并启动了一个centos7的虚拟机,接下来我们要设置局域网访问以及资源的控制
打开前面init生成的Vagrantfile文件
config.vm.network "public_network", ip: "192.168.0.220"
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?
解决方案:打开网络连接->右键属性里面,正常是会有这个服务的
如果没有则需要安装服务,点安装 - 选择服务 - 添加
选择从磁盘安装
路径为C:\Program Files\Oracle\VirtualBox\drivers\network\netlwf
,这是默认的安装路径,如果是自定义安装目录的,则在你自定义目录下
安装成功后,最好是去任务管理器里面杀掉ruby或者vagrant进程再使用vagrant up
来启动虚拟机
初始化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 使密码生效
vagrant package --output docker-centos7.box 可得到镜像 docker-centos7.box
#拖拽上传下载
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,一文带你从开发变运维
人不懒,学不停