vagrant搭建开发环境

第一步

安装vagrant 和 virtualbox
并将vagrant配置到环境变量

下载box
例如下载## ubuntu/trusty64
https://app.vagrantup.com/ubuntu/boxes/trusty64/versions/20180107.0.0/providers/virtualbox.box
(其实就是上面提到的https://atlas.hashicorp.com/ubuntu/boxes/trusty64连接 加上版本和更改提供者provider为virtualbox)

命令 意义 例子
vagrant box list 镜像列表 vagrant box list
vagrant box add 添加镜像 vagrant box add centos72 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
vagrant box remove 删除指定box vagrant box remove centos72
vagrant init 镜像名称 初始化虚拟配置 #cd centos72 #vagrant init centos72 会在文件夹会有一个Vagrantfile文件
vagrant up 启动虚拟机
vagrant ssh 连接虚拟机
vagrant suspend 挂起虚拟机
vagrant reload 重启虚拟机
vagrant halt 关闭虚拟机
vagrant status 查看虚拟机状态
vagrant destroy 删除虚拟机

熟悉vagrant box常用命令

命令 意义 例子
vagrant box list 镜像列表 vagrant box list
vagrant box add 添加镜像 vagrant box add centos72 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
vagrant box remove 删除指定box vagrant box remove centos72
vagrant init 镜像名称 初始化虚拟配置 #cd centos72 #vagrant init centos72 会在文件夹会有一个Vagrantfile文件
vagrant up 启动虚拟机
vagrant ssh 连接虚拟机
vagrant suspend 挂起虚拟机
vagrant reload 重启虚拟机
vagrant halt 关闭虚拟机
vagrant status 查看虚拟机状态
vagrant destroy 删除虚拟机

端口转发

退出虚拟机并执行vagrant suspend操作
在端口转发中增加20080转发到虚拟机80 端口

vagrant搭建开发环境_第1张图片
image.png

vagrant搭建开发环境_第2张图片
image.png

然后重启虚拟机vagrant up

Vagrant.file文件配置端口转发
官方文档https://www.vagrantup.com/docs/networking/forwarded_ports.html
例如:访问本地的8080端口,即是访问虚拟机的80端口

Vagrant.configure("2") do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080
end

私有网络

#私有ip 浏览器192.168.33.10可以访问
  config.vm.network "private_network", ip: "192.168.33.10",auto_config:true

目录同步

config.vm.synced_folder "F:/code", "/vagrant"

主机名

config.vm.hostname = "ubuntu"

虚拟机的设置

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

     vb.memory = "1024"
     vb.name = "ubuntu_env"

  end

打包分发

vagrant package  --output  默认输出为package.box
vagrant package  --output xxx.box   指定box文件

若windows安装centos7虚拟机可能会出现共享目录问题
解决方案

vagrant plugin install vagrant-winnfsd
vagrant plugin install vagrant-vbguest
vagrant reload


Vagrant.configure('2') do |config|
  # other config here
  config.vm.network "private_network", ip: "192.168.33.10"
 
  #winfsd
  config.winnfsd.logging = "on"
  config.winnfsd.uid = 1
  config.winnfsd.gid = 1
  config.vm.synced_folder "./", "/vagrant", type: "nfs"
end

参考:
https://www.iamle.com/archives/2011.html

你可能感兴趣的:(vagrant搭建开发环境)