搭建流程
1.安装软件和创建目录
安装 vagrant,virtualbox,接着建立好文件夹目录
vagrant
--nginx_vhost nginx域名配置
--software 存放软件安装包
--vagrant-centos-6.9.box box文件
--vagrant-centos69 vagrant一台centos69虚拟机
--work 工作代码目录
2.添加box,此步骤是在window或mac下执行的
vagrant box add centos69 .\software\vagrant-centos-6.9.box
vagrant box list
3.进入目录vagrant-centos69,然后开始初始化
vagrant init centos69 #centos69为上一步添加box的名称
初始化完毕后会生成配置文件 Vagrantfile
4.配置文件 Vagrantfile ,简单参考如下
Vagrant.configure("2") do |config|
# 配置使用哪个box镜像
config.vm.box = "centos69"
# 先禁用系统默认的 2222 端口转发
# 添加本机4022端口转发到虚拟机22端口
# 添加本机80端口转发到虚拟机80端口
# https://tlanyan.me/change-default-ssh-forward-port-in-vagrant/
config.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh", disabled: "true"
config.vm.network "forwarded_port", guest: 22, host: 4022
config.vm.network "forwarded_port", guest: 80, host: 80
# 配置私有ip
config.vm.network "private_network", ip: "192.168.40.10"
# 系统默默认会将 Vagrantfile 本目录共享到虚拟机环境中
#
# 以下是用户自定义共享目录
config.vm.synced_folder "../", "/vagrant_sync"
config.vm.provider "virtualbox" do |vb|
# 设置虚拟机名
vb.name = "vagrant-centos69-201801"
# Display the VirtualBox GUI when booting the machine
# vb.gui = true
# 设置CPU数量
vb.cpus = 4
# Customize the amount of memory on the VM:
vb.memory = "2048"
end
# 文章或帖子参考
# 配置virtualBox 扩容 https://www.cnblogs.com/wajika/p/6513102.html
# 简介 http://rmingwang.com/vagrant-commands-and-config.html
# 默认ssh 2222 端口转发屏蔽 https://tlanyan.me/change-default-ssh-forward-port-in-vagrant/
# 配置共享目录 https://ninghao.net/blog/2078
# 配置虚拟机名字 https://www.cnblogs.com/davenkin/p/vagrant-virtualbox.html
end
5.启动相关指令操作
启动: vagrant up
连入虚拟机: vagrant ssh
关闭虚拟机: vagrant halt
挂起: vagrant suspend
还原: vagrant resume
重启: vagrant reload
6.添加扩容磁盘
如果出现磁盘不够用,可参考此篇文章进行扩容:http://www.yangxg.com/blog/id/1515071965
7.打包
先关闭虚拟机 vagrant halt ,然后在配置目录中执行
vagrant package --output centos69-new.box
将此包和你的 Vagrantfile 分给小伙伴,让小伙伴回到执行添加box,初始化,运行就可以安装一套完整的的环境
如果启动过程中出现 default: Warning: Authentication failure. Retrying...
请在 Vagrantfile 加入
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
然后再次启动尝试
8.github下开源有一套开源的管理工具方便我们管理vagrant
下载
vagrant:下载地址
virtualbox:下载地址
vagrant界面管理工具:下载地址
百度云盘分享一个centos6.9干净版的box:下载地址,更多的box下载可以前往官网查找自行下载:官网box下载地址
遇到问题记录处
关联已存在的虚拟机
启动已存在的虚拟机,出现重新载入box镜像安装的过程,最后出现命名重复的情况
>vagrant status
Current machine states:
default not created (virtualbox)
这是是因为vagrant失去了与已存在虚拟机的id关联,重新配置id关联启动即可
打开配置文件 .vagrant/machines/default/virtualbox/id
,里面的内容就是和它关联的虚拟机唯一ID
查看当前已存在虚拟机的ID列表信息
>VBoxManage.exe list vms
"vagrant-centos69-201801" {af57d22c-fdc1-4c43-8fdc-6805267521bc}
"vagrant-centos69-salve" {fae2602f-7bc9-484c-a9e4-25bbc5795cf5}
将对应虚拟机id写入 .vagrant/machines/default/virtualbox/id
文件中,然后重新查看状态,启动即可
>vagrant status
Current machine states:
default poweroff (virtualbox)