vagrant+virtualbox虚拟机创建全流程,问题处理以及过程讲解,初始安装不放C盘,初始化硬盘空间设置,ssh连接超时,基础镜像下载等等

vagrant+virtualbox已经用了好几年了,最近出一期安装使用全流程。首先是

准备工作1:

电脑系统:win10

vagrant版本:1.9.7

virtualbox版本:5.1.26

 下载地址:vagrant1.9.7+virtualbox5.1.26

 如果不想用我这边分享的可以去官网找:

 顺带一句如果是win7可以用:1.9.5可以和virtualbox 5.1.x版本相匹配

重点: 先安装virtualbox 再安装vagrant 顺序不要反了,提示你重启你就重启,另外vagrant的好多报错并不是vagrant的可能是虚拟服务器自身的问题。

 准备工作2:

         首先我们安装的时候就不要把vagrant 和 virtualbox 安装到C盘。之外我们每个人的c盘空间都是有限的 所以安装完virtualbox和vagrant都是需要换他们的存储地址,但是安装的时候又没有办法进行处理因此这里提前跟大家说一下 不然C盘被挤爆。

修改vagrant+virtualbox的存储地址:

        打开 VirtualBox 程序,点击管理/全局设定菜单项, 将常规栏里的默认虚拟电脑位置(M)改为其他磁盘下的路径;

        将原路径 C:\Users\用户\.VirtualBox\VirtualBox VMs 下的文件移动到新路径下。

        重新启动VirtualBox程序,在虚拟机列表里,以前建立的虚拟机虽然都还在,但已经不可用了,将他们全部删除(如果已经有虚拟机了换地址请三思)。

        vagrant 也是有一个VAGRANT_HOME的文件位置,它是用来将镜像加入到vagrant中之后vagrant自己存储的镜像名。vagrant box list 就可以看到自己加入的镜像,这个后面会说:

 这个是原始位置,我们也可以进行迁移到D盘或者其他盘符,

 右击 选择 此电脑 =>  属性 => 左侧 高级系统设置 => 环境变量 => 新建(看下图)

移动到自己想要的位置,之后改完了也是需要重启的;

 开始建虚拟机:

        上面准备工作做好之后我们再开始新建虚拟机工作;在Discover Vagrant Boxes - Vagrant Cloud 这里的box列表中找到一个作为我们虚拟环境的基础box,

         我下载的是centos7,这个版本可以400+M挺好的没有其他东西。

  1. 我们先新建一个文件夹 例如work:
  2. 使用xshell 或者 putty 或者 win + R  输入cmd进入终端,将下载的box放到work目录下,放在其他位置也行;
  3. 执行
    vagrant box add tmpServer D:\boxes\CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box
  4. ​​​​​​​
  5.  加入之后 我们就有了一个vagrant的box 依据 CentOS7的,这样我们可以通过这个box来进行生成虚拟机;
  6. 在work目录执行
    vagrant init
  7. 生成Vagrantfile,修改默认内容
    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    # All Vagrant configuration is done below. The "2" in Vagrant.configure
    # configures the configuration version (we support older styles for
    # backwards compatibility). Please don't change it unless you know what
    # you're doing.
    Vagrant.configure("2") do |config|
      # The most common configuration options are documented and commented below.
      # For a complete reference, please see the online documentation at
      # https://docs.vagrantup.com.
    
      # Every Vagrant development environment requires a box. You can search for
      # boxes at https://vagrantcloud.com/search.
      #这里表示生成的虚拟机是又twzCentos的box来生成的
      config.vm.box = "twzCentos"
      #这里是初始化磁盘大小,如果不搞大一点以后不够用
      config.disksize.size = "80GB"
      #这里是内网ip 我们可以通过这个ip的80端口访问虚拟机
      config.vm.network "private_network", ip: "192.168.56.10"
      #box 不进行更新
      config.vm.box_check_update = false
      #windows的文件对应虚拟机的共享文件
      config.vm.synced_folder "D:/work","/vagrant", type: "nfs"
      #启动虚拟机超时时长
      config.vm.boot_timeout = 50
      #config.ssh.insert_key = true
      #config.ssh.forward_agent = true
      #连入虚拟机的账号密码
      config.ssh.username = "vagrant"
      config.ssh.password = "vagrant"
    
      #这里是设置cpu核心数 还有内存4G
      config.vm.provider "virtualbox" do |vb|
    	 vb.cpus = 2
      #   # Display the VirtualBox GUI when booting the machine
      #   vb.gui = true
      #
      #   # Customize the amount of memory on the VM:
         vb.memory = "4096"
      end
      #
      # View the documentation for the provider you are using for more
      # information on available options.
    
      # Enable provisioning with a shell script. Additional provisioners such as
      # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
      # documentation for more information about their specific syntax and use.
      # config.vm.provision "shell", inline: <<-SHELL
      #   apt-get update
      #   apt-get install -y apache2
      # SHELL
    end
  8. 生成之后进行vagrant up 进行启动虚拟机,如果没有报错表示没什么问题了;

 

可能遇到的问题:

        由于config.disksize.size = "80GB" 这个是需要vagrant-disksize扩展的所以我们要 提前执行

vagrant plugin install vagrant-disksize

这个执行需要点儿时间,一般在两三分钟左右。 加完了之后可以查看一下vagrant 扩展了列表

vagrant plugin list

 如果出现:同步文件失败No Virtualbox Guest Additionsinstallation found

 vagrant plugin install vagrant-vbguest --plugin-version 0.21

确定版本安装扩展有些版本的扩展可能不可以用。 

如果出现:Warning: Authentication failure. Retrying

 这时候一般虚拟机已经建立好并且开始运行了,但是虚拟机我们vagrant 连不上账号密码。这时候很有可能是我们虚拟机的ssh的身份验证不允许使用password,这时候我们

 

右击这个正在运行的虚拟机,之后 显示  按钮,之后进行终端命令行 就是我们虚拟机的命令行,输入账号密码》: root   vagrant 进入root用户,

修改/etc/ssh/sshd_config文件配置,
PasswordAuthentication yes 是否可以密码认证,修改成yes
然后重启sshd服务service sshd restart

 之后再在vagrant up的界面 输入vagrant reload 进行重启虚拟机

 上面的问题应该就解决了,如果还有问题,我建议vagrant up的时候开启虚拟机终端查看虚拟机启动的日志,是否有什么没有成功导致未启动成功的

暂时就到这儿如果有问题可以提问,我看到如果知道的话我会回答 如果我找不到,我建议你按照我说的方法进行自己查错~

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值