Vagrant相关配置

一、导出自己的Box

我们在vagrant的虚拟机下面进行了一些操作之后想把它导出作为备份,为的是以后在别的机器上安装完vagrant以后可以立即导入自己熟悉的box进行开发。步骤如下

1、运行 vboxmanage list vms 命令,可以看出我们的vagrant下的虚拟机列表

2、导出Box

vagrant package –base newbox_default_1503366286622_12977 –output ./CentOS7.box

vagrant package是导出box的打包命令

–base 代表本地

newbox_default_1503366286622_12977是你要导出的box的名称

–output代表导出

./CentOS7.box 表示导出后的box名为CentOS7.box,并保存在当前目录下

 

二、高级应用

1)端口转发

    说明:点击  设置->网络->高级-端口转发 就可以看到各个转发的端口配置情况。

        官网文档位置:https://www.vagrantup.com/docs/networking/forwarded_ports.html

        ##############配置代码#################################

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

          config.vm.network "forwarded_port", guest: 80, host: 8888

        end

        ########################################################

    配置说明:

        将虚拟机的80端口转发到宿主机的8888

        config.vm.network "forwarded_port", guest: 80, host: 8888

2)共享目录

    说明:同步宿主主机文件到虚拟机:

        官网文档位置:https://www.vagrantup.com/docs/synced-folders/basic_usage.html

        Windows配置用SMB配置共享目录

        官网文档位置:https://www.vagrantup.com/docs/synced-folders/smb.html

        Linux系列系统用NFS配置共享目录

        官网文档位置:https://www.vagrantup.com/docs/synced-folders/nfs.html

    将写代码目录映射到虚拟机服务器目录【Windows机配置示范】:

    ##############配置代码#################################

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

          config.vm.synced_folder "D://workspace/", "/data/wwwroot/web", type: "smb"

        end

    ########################################################

3)ip配置

        ###########重要提示!################

        #      公有ip不能共享目录          #

        #####################################

    1)私有IP配置

        ##############配置代码#################################

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

              config.vm.network "private_network", ip: "192.168.50.4"

            end

        ########################################################

        好处说明:配置私有ip好处。直接访问私有ip

    2)共有ip配置

        查看宿主机ip: 192.168.1.37

        ##############配置代码#################################

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

              config.vm.network "public_network", ip: "192.168.1.17"

            end

        ########################################################

        和宿主主机一样通过DHCP分配

        ##############配置代码#################################

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

              config.vm.network "public_network",use_dhcp_assigned_default_route: true

            end

        ########################################################   

三、常规配置优化

1)虚拟机名称配置

  config.vm.provider "virtualbox" do |vb|

    vb.cpus = 2                #虚拟机核数

    vb.memory = "1024"          #虚拟机内存

    vb.name = "centos7_lnmp"    #虚拟机名称

  end

2)主机名称配置

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

        config.vm.hostname = "dh2y"

    end

3)nginx和apache同步延时配置

官网文档位置:https://www.vagrantup.com/docs/synced-folders/virtualbox.html

In Nginx:    sendfile off;

In Apache:  EnableSendfile Off  #默认已经关闭

 

修改virutalbox和vagrant的默认目录

virtualbox和vagrant默认都是放到系统C盘中,如果安装的box比较多,很容易打满C盘。这个目标路径的配置是可以修改的:

(1)更改VirtualBox虚拟机映像文件的位置

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

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

重新启动VirtualBox程序,在虚拟机列表里,以前建立的虚拟机虽然都还在,但已经不可用了,将他们全部删除。

双击打开新路径各个文件夹里的vbox文件,将建立的虚拟机重新导入。

(2)更改vagrant配置文件的位置

将 C:\Users\user_name\.vagrant.d 移动到新的位置

新建环境变量VAGRANT_HOME,并指向新路径

 

参考:

https://imququ.com/post/vagrantup.html

https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.1.md

上一篇:Vagrant搭建虚拟化开发环境(五)虚拟机优化 PHP升级 打包分发


下一篇:搭建vagrant开发环境