美文网首页程序员
vagrant 使用笔记

vagrant 使用笔记

作者: 梟遙書眚 | 来源:发表于2019-03-20 18:59 被阅读0次

    需求:

    在Windows中一键部署内网项目,项目是两个跑在Linux中的web server,要求启动虚拟机后web server 自动启动,并且通过访问本地IP加端口可以访问到web server, 最后打包方便日后一键部署


    环境:

    windows10  + virtual box + centos7 + vagrant

    注:

    centos7镜像为官网的centos7系统的.box文件,即 centos7.box


    过程:

    1.安装virtual box

    2.安装vagrant

    3.创建工作目录(myvagrant)

    4.vagrant box add my_virtual_box_name(自定义) D:/vagrant/centos7.box(准备好的.box文件所在路径)

    5.在工作目录 vagrant init my_virtual_box_name 会生成Vagrantfile配置文件

    6.配置共享文件夹 config.vm.synced_folder "./vagrant_data", "/vagrant_data" 意思是本地当前vagrant_data目录映射到虚拟机/vagrant_data目录,在配置共享目录之前可以配置自动生成目录

        begin

            Dir.mkdir("./vagrant_data")

        rescue

            print("passing creating existed vagrant dir\n")

        end

    6.做端口映射,在配置文件里修改 config.vm.network "forwarded_port", guest:8001, host:8001

    7.两个web server 通过supervisor管理一键启动,Linux里面设置supervisor开机启动,但是可能是因为权限问题有一个web server起不来,所以在配置文件配置开机用sudo执行重加载命令

        config.vm.provision "shell", inline: <<-SHELL

            sudo supervisorctl reload

        SHELL

    8.开启虚拟机,工作目录 vagrant up --provision

    9.导出box文件方便下次一键部署,导出之前先关闭虚拟机 vagrant halt,到virtul box安装目录下执行 vboxmanage list vms 会展示已安装的虚拟机,虚拟机名称(花括号前面那一串)就是要导出的文件,到工作目录执行 vagrant package --base workspace_default_1539839845107_93161(这个是刚刚展示的虚拟机名称) --output mybox.box(你定义的别名)

    10.导出过程中报错了,找了很久原因是磁盘满了,空间不够

    相关文章

      网友评论

        本文标题:vagrant 使用笔记

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