文章目录
VirtualBox和Vagrant搭建虚拟机
1 下载安装VirtualBox和Vagrant
去官网下载最为保险,担心版本不同
1、VirtualBox
链接:https://pan.baidu.com/s/1Qcb9DIYJV7LUG32VAMPLCQ
提取码:y2sx
2、Vagrant
链接:https://pan.baidu.com/s/1AlWX6mkBvem4XYsLS_Ze_Q
提取码:0xn9
安装:不需改变什么,只需要按照步骤,一直next就可,没有什么要注意的。vagrant安装完毕后会进行重启电脑,然后win+R,输入cmd进入命令行窗口,验证是否可以使用:vagrant --help
2 使用Vagrant创建虚拟机
根据自己的需要下载centos或者ubuntu的虚拟机文件。
先创建一个文件夹来存放下载的文件
添加box命令:vagrant box add <本地 box 名称> <box 文件>
本地 box 名称:自定义名称,该名称是本地 vagrant 管理时使用的名称;
box 文件:前面下载的 vagrant box 文件或者远程 box url 地址;
初始化上面添加的 box,格式:vagrant init <本地 box 名称>
本地 box 名称:第 2 步中添加的 box 名称
这里初始化前面添加的 box,初始化后会在当前目录生产一个Vagrantfile文件,里面包含了虚拟机的各种配置。
启动虚拟机:vagrant up
此命令为下载 box base,可以理解为docker的image镜像(过程因为墙的原因需要很久很久…)
vagrant up下载box慢的解决办法
下午四点居然要跑到六点多,这是有多慢呐!!!
解决方案
查看Vagrantfile中box的命名规范,然后进行这样的修改,删掉之前的Vagrantfile,继续vagrant init bento/ubuntu-16.04,vagrant up,最多两分钟就好了
下载完成后会自动安装,只需要等待就可,同时可以在 VirtualBox 管理器中可以看到 已经正在安装的虚拟机。
连接虚拟机
当创建好虚拟机后,在VirtureBox中已经有这个虚拟机的信息了
还可以去下一个windows版本的来玩
连接命令格式:vagrant ssh
查看Vagrant共享目录:进入虚拟机后执行 df -h 可以看到 Vagrant 默认把宿主机 Vagrantfile 所在的目录和虚拟机的 /vagrant 目录共享,可以通过 ls /vagrant/ 查看该目录内容,内容和宿主机对应目录一致。
3 高级运用
网络设置
Vagrant 有两种方式来进行网络连接,一种是 host-only (主机模式),这种模式下所有的虚拟系统是可以互相通信的,但虚拟系统和真实的网络是被隔离开的,虚拟机和宿主机是可以互相通信的,相当于两台机器通过双绞线互联。另一种是Bridge(桥接模式),该模式下的 VM 就像是局域网中的一台独立的主机,可以和局域网中的任何一台机器通信,这种情况下需要手动给 VM 配 IP 地址,子网掩码等。我们一般选择 host-only 模式,配置如下:
config.vm.network :private_network, ip: “11.11.11.11”
hostname 设置
hostname 的设置非常简单:config.vm.hostname = “kubernetes”
目录共享
我们前面介绍过/vagrant目录默认就是当前的开发目录,这是在虚拟机开启的时候默认挂载同步的。我们还可以通过配置来设置额外的同步目录:
第一个参数是主机的目录,第二个参数是虚拟机挂载的目录
config.vm.synced_folder “/Users/haohao/data”, “/vagrant_data”
端口转发
点击 设置->网络->高级-端口转发 就可以看到各个转发的端口配置情况。
官网文档位置:https://www.vagrantup.com/docs/networking/forwarded_ports.html
对宿主机器上 8080 端口的访问请求 forward 到虚拟机的 80 端口的服务上:
config.vm.network :forwarded_port, guest: 80, host: 8080
相关命令
添加box:vagrant box add
列出Vagrant当前box列表:vagrant box list
启动 vagrant up
登录 vagrant ssh
停止/关机 vagrant halt
使用ssh连接 vagrant ssh
vagrant package 把当前的运行的虚拟机环境进行打包为 box 文件
vagrant plugin 安装卸载插件
vagrant global-status 查看当前 vagrant 管理的所有 vm 信息
// 安装Apach服务器
sudo yum install httpd
// 启动服务器
[vagrant@localhost ~]$ sudo service httpd start
exit
vagrant suspend 暂停虚拟机
vagrant resume 恢复被挂起的虚拟机
vagrant reload 重启
vagrant destroy 销毁
vagrant plugin install vagrant-scp 安装插件
vagrant global-status 查看虚拟机名称
从本地拷贝到虚拟机 vagrant scp /home/vincent/backend/go-dev/proxy-v default:~
开启ssh登录
首先进入虚拟机。
开启密码验证
sudo nano /etc/ssh/sshd_config
找到passwordAuthentication项,修改成yes
重启ssh服务:
sudo service sshd restart
密码设置:
sudo passwd vagrant
然后使用ssh即可连接
链接资源来源:https://www.cnblogs.com/shenjianping/p/12232176.html
https://blog.csdn.net/qianghaohao/java/article/details/80038096
https://blog.csdn.net/wf19930209/article/details/86809274