Windows10 vagrant 安装记录

1. 下载virtualBoxvagrant

  具体的下载过程无非就是到官网下载安装包(VirtualBox,Vagrant),除了vagrant软件下载因为没有国内的镜像,所以下载比较麻烦,没有梯子的话就迅雷百度云离线下载,之后就是下一步下一步的进行,没什么好说的。

2. vagrant box 下载

  因为网络问题不能进行远程镜像,所以之后安装需要进行本地镜像安装,需要将所需的box下载下来

3. vagrant常用命令说明

命令 作用
vagrant box add 添加box的操作
vagrant init 初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up 启动本地环境
vagrant ssh 通过 ssh 登录本地环境所在虚拟机
vagrant halt 关闭本地环境
vagrant suspend 暂停本地环境
vagrant resume 恢复本地环境
vagrant reload 修改了 Vagrantfile 后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant box remove 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态

4. vagrant 使用

## 新建一个做实验用的文件夹
md virtual/vagrant
cd virtual/vagrant

## vagrant box add {title} {url}
## title:可以自行设置,是添加的box名称;    url:下载到本地的box路径
vagrant box add centos7-1902 f:\hardwareResource\CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box

## vagrant init {title}
## 初始化Vagrantfile,生成Vagrantfile,title 里面是刚才添加的box名称
vagrant init centos7-1902

vagrantfile配置

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  # centos 是显示在status中的名称
  config.vm.define :centos do |centos|
    # 当前vm使用的box镜像名称
    centos.vm.box = "centos7-1903"
    # 指定vm的hostname,多台虚拟服务器的时候,依靠hostname來做识别
    centos.vm.hostname = "centos7"
    # 将主机的8080端口请求,转发到vm的80端口,guest:虚拟机端口 host:本机端口
    centos.vm.network "forwarded_port", guest: 80, host: 8080
    # 桥接模式,该模式下的VM就像是局域网中的一台独立的主机
    centos.vm.network "public_network", ip: "192.168.0.110"
      
    #前面的路径是本机代码的地址,后面的地址就是虚拟机的目录,这是在虚拟机启动时自动挂载的
    #centos.vm.synced_folder "G:/syncedFolder/centos7", "/outdate/vagrant_data"
      
    # 登录用户名(默认有vagrant这个用户、在未设置之前root可能登录不了)
    centos.ssh.username = 'vagrant' 
    # 默认的登录密码 (root用户的默认密码也是这个密码)
    centos.ssh.password = "vagrant" 
    # 是否使用秘钥、公钥登录(默认为true,如果设为true那么上面的账号密码是无效的,建议设为true)
    centos.ssh.insert_key = false 
      
    centos.vm.provider "virtualbox" do |vb|
      #指定vm-name,也就是virtualbox管理控制台中的虚机名称
      vb.name = "centos7Name"
      # vagrant up启动时,是否自动打开virtual box的窗口,缺省为false
      vb.gui = true
      #指定vm内存,单位为MB
      vb.memory = "1024"
      #设置CPU个数
      vb.cpus = 2
    end
    centos.vm.provision "shell", privileged: true, path: "./setup.sh"

  end

end
  • 修改配置文件需要重启。指令:vagrant reload
  • 在配置中没有配置username,password的话默认的账号密码都是vagrant

    配置说明

    Vagrant.configure("2") do |config|
      # ...
    end

      当前配置文件有两个版本,分别是“1”和“2”,“1”:描述的是vagrant 1.0.x的配置(Vagrant::Config.run do |config| 此也为Vagrant 1.0.x 的配置);“2”:描述的是1.1之后版本的配置。

    config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
    config.vm.network "private_network", ip: "192.168.33.10"
    config.vm.network "public_network"

      forwarded_port:端口映射 将虚拟机的端口映射到主机的端口上
      private_network:私有网络 只有主机才能访问虚拟机,主句局域网内成员不能访问的虚拟机的内容
      public_network:共有网络 主机局域网内成员可以访问虚拟机中的内容,虚拟机相当于局域网内的一员

    ## 禁用原有的默认的共享目录
    config.vm.synced_folder '.', '/vagrant', disabled: true
    ## 增加新的共享目录,第二个参数以当前文件夹为基准
    ## windows下的abc文件夹对应linux下的/www/abc文件夹
    config.vm.synced_folder "abc", "/www/abc",

      vagrant文件夹有四种共享的方式
      a、NFS共享方式,windows平台无法使用此配置,且用此方式时不能修改文件的所有者和所有组(可以通过插件来改变)

      b、RSync共享方式,所有平台都可以使用,但这种方式貌似有个缺点就是主机的改动可以同步到虚拟机中,但虚拟机中的改动无法同步到主机中,如果要实现双向同步可能还需做其它设置。

      c、SMB共享方式,windows平台可以使用。

      d、VirtualBox共享方式,这是VirtualBox提供的也是vagrant默认的共享方式。当文件数量小时用着不错,当文件数量大的时候打开网页会卡到超时。

I. 禁用fastestmirror插件

vi  /etc/yum/pluginconf.d/fastestmirror.conf  
#修改内容
enabled = 1//由1改为0,禁用该插件

II. 常用Linux命令

# 根据进程名查看进程信息
ps -ef | grep yum 

# 根据进程id查看进程占用端口
netstat -nap | grep 1005  

# 根据端口查看对应进程,查看占用8080端口的进程id
netstat -tunlp | grep 8080 

# 根据进程id杀死进程,杀死进程id为1005的进程
kill -9 1005  

# 重启
init 6

III. kernel headers not found for target kernel解决办法

yum update kernel -y
yum install kernel-headers kernel-devel gcc make -y
init 6

IV. Vagrant改变boxes存放路径

  1. vagrant 的 boxes 默认是放在~/.vagrant.d/boxes下面的,先将之前 ~/.vagrant.d/里面的文件夹复制到新的目录

cp ~/.vagrant.d/  /path/vagrant_home/

  2. 设置环境变量,VAGRANT_HOME='/path/vagrant_home',重新运行后,boxes的存放目录就在 /path/vagrant_home/boxes 下面了。

V. 修改虚拟机镜像安装地址

Snipaste_2019-12-08_00-25-11.png

你可能感兴趣的:(vagrant)