------------------- virtualbox + vagrant -----------------
参考:
https://www.cnblogs.com/vishun/archive/2017/06/02/6932454.html
下载 virtualbox,vagrant
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/
或者:
https://releases.hashicorp.com/vagrant/1.9.5/vagrant_1.9.5.msi
http://download.virtualbox.org/virtualbox/4.3.40/VirtualBox-4.3.40-110317-Win.exe
vagrant文档
https://www.vagrantup.com/docs/synced-folders/nfs.html
virtualbox镜像地址
http://www.vagrantbox.es/
直接安装即可,需重启
vagrant -v
安装ssh
https://www.mls-software.com/files/setupssh-7.7p1-1.exe
直接安装
重新打开命令行终端
ssh
vagrant 基本操作
将镜像添加到vagrant系统
vagrant box add {title} {url}
vagrant box add centos7.2 D:\box\vagrant-centos-7.2.box
// title 命名
// url 可以是网络地址,本地已下载的镜像文件
D:
mkdir vagrant_project
cd vagrant_project
mkdir centos72-1
cd centos72-1
初始化
vagrant init centos7.2
启动虚拟机
vagrant up
连接虚拟机
CMD终端:
vagrant ssh
或者:
ssh vagrant@127.0.0.1 -p 2222 密码vagrant
Xshell终端:
ssh vagrant@127.0.0.1 2222 密码vagrant
或者
xshell手动创建连接来实现连接
默认是以vagrant账号登陆,权限有限,切换到root
su root
密码:vagrant
yum -y install httpd
退出连接
ctrl+d
启动过程中会输出ssh连接参数,并尝试连接,如果自动连接失败,可使用xshell来手动连接
Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: D:/vagrant_project/centos72-1/.vagrant/machines/default/virtualbox/private_key
停止虚拟机
vagrant halt
虚拟机状态
vagrant status
重启
vagrant reload
Vagrantfile配置文件
一、端口映射
config.vm.forwarded_port 80, 8080
作用是将虚拟机的80端口映射到主机的8080端口上,那我直接访问主机的8080端口就相当于访问虚拟机的80端口
二、私有网络
config.vm.network "private_network", ip: "192.168.33.10"
只有主机才能访问虚拟机,主句局域网内成员不能访问的虚拟机的内容
上述设置完成后,在本机可以通过192.168.33.10来访问虚拟机,需要注意192.168.33.10虽然可以随便设定,但如
果主机的ip为192.168.1.xxx字段,那就不要这个再用这个区段,可以2.xxx或3.xxx或其它,以免造成冲突。
三、共有网络
config.vm.network "public_network", ip: "192.168.1.120"
主机局域网内成员可以访问虚拟机中的内容,虚拟机相当于局域网内的一员
以上配置一般来说开发环境也不需要局域网内成员访问,所以大部分情况下是选择用b、私有网络来开发,这个可根据实际情况来选择。
四、共享目录
#禁用原有的默认的共享目录
config.vm.synced_folder '.', '/vagrant', disabled: true
#增加新的共享目录,第二个参数以当前文件夹为基准
config.vm.synced_folder "abc", "/www/web/abc",
上方相当与windows下的vagrant_project/abc文件夹对应linux下的/www/web/abc文件夹
五、打包镜像
vagrant package
生成一个package.box的文件,这个就是已经包含安装环境的镜像了