使用VirtualBox和Vagrant安装centos7

使用VirtualBox和Vagrant安装centos7

      • 安装 VirtualBox 虚拟机
      • 安装 Vagrant
      • 安装一个 centos 7 系统
      • 创建一个虚拟机
      • 进入虚拟机
      • vagrant 基础命令
      • 出现的问题
        • -bash: ifconfig: command not found
        • 配置虚拟机与实体机器的端口转发
        • 刚安装的虚拟机不能远程登陆
        • 修改 linux 的 yum 源

参考视频:0.Vagrant搭建本地开发环境
参考博文: Vagrant 与 VirtualBox 的保姆级安装教程

安装 VirtualBox 虚拟机

下载&安装 VirtualBox https://www.virtualbox.org/, 要开启 CPU 虚拟化
链接:https://pan.baidu.com/s/14k-teejvNgy7nzUAdvyNEQ
提取码:zrdb

安装 Vagrant

下载&安装 Vagrant
 https://app.vagrantup.com/boxes/search Vagrant 官方镜像仓库
 https://www.vagrantup.com/downloads.html Vagrant 下载
链接:https://pan.baidu.com/s/1xbCgVeLniWeHMkXjyXhrCw
提取码:fn07
安装完成之后在cmd中输入Vagrant, 有反应说明安装成功
输入vagrant -v 查看版本号

vagrant -v

安装一个 centos 7 系统

去官网下载一个VirtualBox 体系下的 centos/7.box 文件https://app.vagrantup.com/centos/boxes/7
使用VirtualBox和Vagrant安装centos7_第1张图片
下载完后会得到一个 box 文件 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box,把它修改个短点的名字方便使用,然后保存备用,这里将它改名为 centos7
存放到 E:\Vagrantfile 文件夹下,此时它的文件路径为:E:\Vagrantfile\centos7.box。

  • 在box 文件的目录中打开命令行窗口(cmd),然后将它添加到 Vagrant 管理的 Box 列表中:
vagrant box add centos7  CentOS-7-x86.box
  • 查看是否添加成功
vagrant box list

使用VirtualBox和Vagrant安装centos7_第2张图片

创建一个虚拟机

执行命令创建虚拟机

vagrant init centos7

centos7 是前面为 box 取的名字,命令执行完后会在文件夹中生成一个 Vagrantfile 文件,可以在里面配置虚拟机相关信息
使用VirtualBox和Vagrant安装centos7_第3张图片
修改Vagrantfile配置文件

Vagrant.configure("2") do |config|
  config.vm.box = "centos7"             # box 名称
  config.vm.hostname = "centos7"        # 虚拟机名称
  config.vm.box_check_update = false    # 盒子不检查更新
  config.vm.network "private_network", ip: "192.168.33.10"  # 配置成私有网络,类似主机模式
  # 虚拟机供应者参数配置,相当于在 virtualbox 中配置
  config.vm.provider "virtualbox" do |vb|    
    vb.name = "centos7" # 虚拟机名称    
    vb.gui = false      # 启动机器时显示 VirtualBox GUI    
    vb.memory = "2048"  # 虚拟机存储大小,mb    
    vb.cpus = 2         # cpu 大小
  end
end

完成配置后,下面启动虚拟机contos7,启动过程中可以看到虚拟机的一些基本配置信息:

vagrant up

启动成功, 同时VirtualBox中出现了一个已经启动的虚拟机使用VirtualBox和Vagrant安装centos7_第4张图片
在执行vagrant up命令时候报错:/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/util/io.rb:32:in `encode’: “\xAF\xE6” from GBK to UTF-8 (Encoding::UndefinedConversionError)按照上述博文中方式设置后再执行vagrant up命令成功
使用VirtualBox和Vagrant安装centos7_第5张图片

进入虚拟机

在刚刚的cmd窗口输入命令, 进入虚拟机

vagrant ssh

使用VirtualBox和Vagrant安装centos7_第6张图片

  • 虚拟机的默认用户是 vagrant , root 用户的密码是 vagrant 。

  • 进入后就可以像 centos7 一样使用命令行操作了,不过使用 cmd 不太方便,推荐使用 Xshell 配合 Xftp 进行操作,都有免费的教育版本。

  • 相比于虚拟机管理软件使用 iso 镜像文件安装虚拟机,使用 Vagrant 管理工具就方便太多了,安装教程到此结束。

vagrant 基础命令

添加box的操作

vagrant box add 

初始化box的操作

vagrant init

显示当前已经添加的box列表

vagrant box list

删除vagrant 已经安装的相应box

vagrant box remove

启动虚拟机的操作

vagrant up

关闭虚拟机

vagrant halt 

登录拟机的操作

vagrant ssh

停止当前正在运行的虚拟机并销毁所有创建的资源

vagrant destroy

打包命令,可以把当前的运行的虚拟机环境进行打包

vagrant package

用于安装卸载插件

vagrant plugin

重新启动虚拟机,主要用于重新载入配置文件

vagrant reload

恢复前面被挂起的状态

vagrant resume

输出用于ssh连接的一些信息

vagrant ssh-config

获取当前虚拟机的状态

vagrant status

挂起当前的虚拟机

vagrant suspend

出现的问题

virtualbox 窗口太小的解决方案

-bash: ifconfig: command not found

linux安装报错之:ifconfig command not found解决
执行命令:

sudo yum install net-tools

配置虚拟机与实体机器的端口转发

  1. 在物理机中输入命令查看VirtualBox的ip
    使用VirtualBox和Vagrant安装centos7_第7张图片
  2. 在vagrant init centos7命令生成的Vagrantfile文件中有这样一行命令, 这一行是用来配置虚拟机的网络信息的, 上面查询出来VirtualBox的ip4的地址是192.168.56.1, 那么我们配置虚拟机的地址只要是在 192.168.56. 段上就可以, 这里我们使用 192.168.56.10
config.vm.network "private_network", ip: "192.168.56.10"  # 配置成私有网络,类似主机模式

更改完Vagrantfile文件之后重启虚拟机, 重新载入配置文件

vagrant reload

重启成功之后, 使用ipconfig命令查看物理机的无线局域网适配器 WLAN的ip地址,
使用VirtualBox和Vagrant安装centos7_第8张图片
在虚拟机中ping 192.168.0.103, ping成功
在虚拟机中, 使用ipconfig查看ip是不是 192.168.56.10,
在物理机中ping 192.168.56.10, ping 成功
这样完成物理机与虚拟机的通信

刚安装的虚拟机不能远程登陆

刚安装的虚拟机默认是不支持用户名、密码登录的, 所以我们使用xshell这种工具登录的时候会弹出来让我们输入ssh秘钥, 或者弹出来所选用户秘钥未在远程主机上注册
解决方案:

  1. 如果使用 vargrant ssh 命令登录的是 vargrant 用户, 有好多命令没有权限执行, 所以我们要使用VirtualBox 登录虚拟机, 使用 root用户,
    用户名: root
    密码: vagrant
  2. 进入到 /etc/ssh目录下, 里面有一个 sshd_config文件, 编辑sshd_config文件
vi sshd_config

使用VirtualBox和Vagrant安装centos7_第9张图片

  1. 在sshd_config文件中有一行
# 把整理的 no 改成 yes
PasswordAuthentication no
  1. 重启服务
service sshd restart

修改 linux 的 yum 源

  1. 备份原 yum 源
# 进入目录
cd  /etc/yum.repos.d/
# 备份原 yum 源
mv CentOS-Base.repo CentOS-Base.repo.backup
  1. 使用新 yum 源
# 安装 curl
yum install curl
# 下载新 yum 源 , 下载完成后目录下回多出一个
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
  1. 生成缓存
yum makecache

使用VirtualBox和Vagrant安装centos7_第10张图片

你可能感兴趣的:(软件安装,linux,vagrant,linux,运维,centos,服务器)