当前位置: 代码迷 >> 综合 >> vagrant+virtualbox
  详细解决方案

vagrant+virtualbox

热度:43   发布时间:2023-12-09 11:49:54.0
------------------- virtualbox + vagrant -----------------参考:https://www.cnblogs.com/vishun/archive/2017/06/02/6932454.html下载 virtualbox,vagranthttps://www.vagrantup.com/downloads.htmlhttps://www.virtualbox.org/或者:https://releases.hashicorp.com/vagrant/1.9.5/vagrant_1.9.5.msihttp://download.virtualbox.org/virtualbox/4.3.40/VirtualBox-4.3.40-110317-Win.exevagrant文档https://www.vagrantup.com/docs/synced-folders/nfs.htmlvirtualbox镜像地址http://www.vagrantbox.es/直接安装即可,需重启vagrant -v安装sshhttps://www.mls-software.com/files/setupssh-7.7p1-1.exe直接安装重新打开命令行终端sshvagrant 基本操作将镜像添加到vagrant系统vagrant box add {title} {url}vagrant box add centos7.2 D:\box\vagrant-centos-7.2.box// title  命名// url    可以是网络地址,本地已下载的镜像文件D:mkdir vagrant_projectcd vagrant_projectmkdir centos72-1cd centos72-1
初始化vagrant init centos7.2
启动虚拟机vagrant up报错:
	"rsync" could not be found on your PATH. Make sure that rsync is properly installed on your system and available on the PATH
	解决:C:\Users\{your_username}\.vagrant.d\boxes\centos7\0\virtualbox\Vagrantfile原配置:`在这里插入代码片`Vagrant.configure("2") do |config|
 	config.vm.base_mac = "525400cae48b"config.vm.synced_folder ".", "/vagrant", type: "rsync"end
	改为:
	Vagrant.configure("2") do |config|config.vm.base_mac = "525400cae48b"config.vm.synced_folder ".", "/vagrant", type: "virtualbox"end
连接虚拟机CMD终端:vagrant ssh或者:ssh vagrant@127.0.0.1 -p 2222     密码vagrantXshell终端:ssh vagrant@127.0.0.1 2222        密码vagrant或者xshell手动创建连接来实现连接默认是以vagrant账号登陆,权限有限,切换到rootsu root密码:vagrantyum -y install httpd退出连接ctrl+d启动过程中会输出ssh连接参数,并尝试连接,如果自动连接失败,可使用xshell来手动连接Host: 127.0.0.1Port: 2222Username: vagrantPrivate key: D:/vagrant_project/centos72-1/.vagrant/machines/default/virtualbox/private_key停止虚拟机vagrant halt
虚拟机状态vagrant status
重启
vagrant reloadVagrantfile配置文件
一、端口映射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的文件,这个就是已经包含安装环境的镜像了
  相关解决方案