zoukankan      html  css  js  c++  java
  • vagrant 使用指南

    vagrant 使用指南


    Date:2017.6.6 By author : longyunfeigu

    一、准备工作

    安装vagrant、virtualbox、listary. 
    注意:安装virtualbox的目录可以随意指定,但是安装vagrant最好选择默认路径(涉及到路径指向问题)

    二、安装centos6.5

    1.在windows下任意一个磁盘分区创建一个文件夹,文件夹名为虚拟机前缀名

    2.把下载好的后缀名为.box镜像文件复制到创建的文件夹内

    3.在创建的文件夹内单击两次打开listary,选择命令--打开命令行窗口

    4.cmd中输入vagrant box add ceshi1 c.box,其中box是参数,ceshi1是命令vagrant box list显示的虚拟机名称,c.box是本人下载的box镜像

    5.cmd中输入vagrant init ceshi1,此处的ceshi1和步骤4保持一致.也可以输入vagrant init,但是需要手动修改文件夹下的Vagrantfile文件,把config.vm.box = "base"改为config.vm.box = "ceshi1"

    6.cmd中输入vagrant up启动虚拟机

    7.在virtualbox的设置-网络把NAT改成桥接,并更改MAC地址(DHCP根据MAC地址分发IP,防止多台虚拟机出现同一个IP的情况)

    三、配置

    网络配置

    vagrant的网络有三种模式

    1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用,在Vagrantfile中配置: 
    config.vm.network :forwarded_port, guest: 80, host: 8080 
    guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

    2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置: 
    config.vm.network :private_network, ip: "192.168.1.104"
    192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

    3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置: 
    config.vm.network :public_network
    注意:更改完配置之后需要重启虚拟机才会生效.可以在virtualbox里手动重启,也可以在cmd输入vagrant reload重启

    目录映射

    既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。当然虚拟机里的文件也会映射到本地。

    默认情况下,当前的工作目录,会被映射到虚拟机的/vagrant 目录,当前目录下的文件可以直接在/vagrant下进行访问。其实这里是由.\.vagrant\machines\default\virtualbox\synced_folders文件决定的 
    当然,从自动化配置的角度,能不进系统就不需要进系统,所以在vagrant也可以进行目录映射的操作: 
    config.vm.synced_folder "../data", "/vagrant_data"
    其中"../data"是本机目录,支持绝对路径,"/vagrant_data"是虚拟机路径

    附录--vagrant常用命令

    • vagrant up:启动虚拟机
    • vagrant halt:关闭虚拟机
    • vagrant suspend:暂停虚拟机
    • vagrant resume:恢复虚拟机(对应于暂停虚拟机)
    • vagrant destroy:删除虚拟机
    • vagrant package --output NAME --vagrantfile FILE:虚拟机打包

    注意:如果要打包的系统中网络模式中使用了private_network的话,在打包前需要清除private_network的设置,避免不必要的错误: 
    rm -f /etc/udev/rule.d/70-persistent-net.rules
    制作完成之后直接将box文件拿到其他计算机上配置即可使用

  • 相关阅读:
    numpy 基础 —— np.linalg
    图像旋转后显示不完全
    opencv ---getRotationMatrix2D函数
    PS1--cannot be loaded because the execution of scripts is disabled on this system
    打开jnlp Faild to validate certificate, the application will not be executed.
    BATCH(BAT批处理命令语法)
    oracle vm virtualbox 如何让虚拟机可以上网
    merge 实现
    Windows batch,echo到文件不成功,只打印出ECHO is on.
    python2.7.6 , setuptools pip install, 报错:UnicodeDecodeError:'ascii' codec can't decode byte
  • 原文地址:https://www.cnblogs.com/longyunfeigu/p/6952646.html
Copyright © 2011-2022 走看看