美文网首页
Vagrant安装和配置

Vagrant安装和配置

作者: Gary的个人空间 | 来源:发表于2020-03-30 12:32 被阅读0次

    安装Vagrant

    vagrant是HashiCorp的虚拟机管理软件,可以管理virtualbox,VMware,docker等镜像, 在vagrant中统一被称之为box。
    对于搭建和配置集群开发环境很方便

    下载vagrant

    下载地址:https://www.vagrantup.com/downloads.html
    文档地址: https://www.vagrantup.com/docs/
    根据不同的操作系统可以选择对应的版本下载

    下载完成之后直接点击安装即可,安装完成之后检查版本信息

    $ vagrant -v
    Vagrant 2.2.7
    $ vagrant box list
    There are no installed boxes! Use `vagrant box add` to add some.
    

    下载更新powershell

    执行添加centos命令,我目前使用的是Windows7,可能出现powershell版本不够,报一个错误

    $ vagrant box add centos/7
    Vagrant failed to initialize at a very early stage:
    The version of powershell currently installed on this host is less than
    the required minimum version. Please upgrade the installed version of
    powershell to the minimum required version and run the command again.
      Installed version: 2
      Minimum required version: 3
    

    查看powershell版本命令:$psversiontable

    > $psversiontable
    
    Name                           Value
    ----                           -----
    CLRVersion                     2.0.50727.5420
    BuildVersion                   6.1.7601.17514
    PSVersion                      2.0
    WSManStackVersion              2.0
    PSCompatibleVersions           {1.0, 2.0}
    SerializationVersion           1.1.0.1
    PSRemotingProtocolVersion      2.1
    

    下载安装新版powershell:

    下载地址:https://docs.microsoft.com/en-us/powershell/scripting/wmf/setup/install-configure?view=powershell-7

    根据【安装说明】信息中找到对应的操作系统版本的安装文件,如Windows7 SP1 64位对应的是:Win7AndW2K8R2-KB3191566-x64.ZIP

    注意:如果安装的时候长时间卡住不动,可能需要修复下更新程序:

    参考地址:https://docs.microsoft.com/zh-cn/windows/deployment/update/windows-update-resources

    安装后:

    > $psversiontable
    
    Name                           Value
    ----                           -----
    PSVersion                      5.1.14409.1005
    PSEdition                      Desktop
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   10.0.14409.1005
    CLRVersion                     4.0.30319.42000
    WSManStackVersion              3.0
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1
    

    Vagrant基本使用

    Vagrant提供很多已经打包好的box仓库,仓库搜索地址:https://app.vagrantup.com/boxes/search
    找到自己需要的box,执行命令下载到本地,根据box的信息,可以有几种格式可以选择,VMware或者virtualbox等

    $ vagrant box add centos/7
    ==> box: Loading metadata for box 'centos/7'
        box: URL: https://vagrantcloud.com/centos/7
    This box can work with multiple providers! The providers that it
    can work with are listed below. Please review the list and choose
    the provider you will be working with.
    
    1) hyperv
    2) libvirt
    3) virtualbox
    4) vmware_desktop
    
    Enter your choice: 3
    ==> box: Adding box 'centos/7' (v1905.1) for provider: virtualbox
        box: Downloading: https://vagrantcloud.com/centos/boxes/7/versions/1905.1/providers/virtualbox.box
        box: Download redirected to host: cloud.centos.org
    

    下载速度比较慢,可以把地址复制下来,然后使用下载工具下载
    手动下载后添加

    $ vagrant box add centos/7 ./DownloadBoxes/centos7.box
    ==> box: Box file was not detected as metadata. Adding it directly...
    ==> box: Adding box 'centos/7' (v0) for provider:
        box: Unpacking necessary files from: file://E:/vagrant/DownloadBoxes/centos7.box
        box:
    ==> box: Successfully added box 'centos/7' (v0) for 'virtualbox'!
    

    初始化虚拟机,启动虚拟机

    vagrant init centos/7
    vagrant up
    

    如果没有安装virtualbox等provider,启动会提示

    No usable default provider could be found for your system.
    

    安装virtualbox

    下载地址:https://www.virtualbox.org/wiki/Downloads

    安装好virtualbox之后,再次运行

    vagrant up
    vagrant ssh
    

    登录系统,可以执行其他操作了

    如果直接使用virtualbox登录,默认账户:vagrant/vagrant

    Vagrantfile配置

    Vagrant最主要的配置文件就是Vagrantfile,配置虚拟机相关的属性,网络,以及脚本执行等操作。

    Vagrant的配置语法是Ruby的,每个项目都需要有一个Vagrantfile,在执行vagrant init的目录下可以找到该文件,可以复制此文件直接初始化vagrant项目。

    Vagrant.configure("2") do |config|
    # box源
      config.vm.box = "centos/7"
    # 配置主机名
      config.vm.hostname = "test.centos.local"
    # 配置文件夹同步
    # config.vm.synced_folder "../data", "/vagrant_data"
    # 端口映射
    # config.vm.network "forwarded_port", guest: 80, host: 8080
    # 配置私有网络,如果是private_network,虚拟机网络和主机网络隔离, 外部不能ping通虚拟机
    # config.vm.network "private_network", ip: "192.168.1.11"
    # 桥接模式,主机之外可以访问到
      config.vm.network "public_network", ip: "192.168.31.101"
      config.vm.provider "virtualbox" do |vb|
      # vb.gui = true
      # 配置虚拟机名字,不配置的话,自动会产生虚拟机名字,配置虚拟机内存大小
        vb.name = "test-vm1"
        vb.memory = "1024"
      end
    # 配置初始化需要执行的脚本,比如更新软件包,安装常用软件等
      config.vm.provision "shell", inline: <<-SHELL
        yum update
        yum install -y gcc
        yum install -y net-tools.x86_64
      SHELL
    end
    

    相关文章

      网友评论

          本文标题:Vagrant安装和配置

          本文链接:https://www.haomeiwen.com/subject/cczmuhtx.html