vagrant搭建开发环境
2018-01-15 本文已影响0人
小慕先森
第一步
安装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 端口
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