使用Vagrant和VirtualBox搭建Centos虚拟机并配置共享文件夹

DevOps 2020年12月20日

本篇笔记记录了使用Vagrant和VirtualBox搭建Centos虚拟机,并配置共享目录,安装nginx并设置端口转发的过程

准备工作
下载vagrant

https://www.vagrantup.com/downloads.html

下载virtualbox

https://www.virtualbox.org/wiki/Downloads

软件安装
都是下一步...

部署虚拟机
宿主机创建D:\work\dev目录并下载vagrant box文件

http://cloud.centos.org/centos/7/vagrant/x86_64/images/

安装vagrant-vbguest插件

vagrant plugin install vagrant-vbguest

导入box文件

vagrant box add dev CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box


虚拟机初始化

vagrant init dev

配置vagrant和虚拟机
修改配置,编辑dev目录下Vagrantfile文件
开启端口转发

config.vm.network "forwarded_port", guest: 80, host: 80
config.vm.network "forwarded_port", guest: 9530, host: 9530

配置私有网络

config.vm.network "private_network", type: "dhcp"

启动虚拟机

vagrant up

停止虚拟机

vagrant halt

创建宿主机要共享的文件夹

D:/data

再次修改配置
关闭自动更新

config.vbguest.auto_update = false

不从远程web端下载

config.vbguest.no_remote = true

共享文件夹

config.vm.synced_folder "D:/data", "/data"

打开VirtualBox管理界面

选择我们刚才导入的虚拟机,点击设置,挂载VBoxGuestAdditions.iso

点击确定
启动虚拟机

vagrant up

进入虚拟机

vagrant ssh

更新系统并安装依赖

sudo yum update
sudo yum install gcc kernel-devel bzip2

安装VBoxLinuxAdditions组件

sudo mkdir /media/cdrom/
sudo mount /dev/cdrom /media/cdrom/
sudo cd /media/cdrom/
sudo ./VBoxLinuxAdditions.run

退出ssh

exit

重新加载

vagrant reload

测试文件夹共享
本地D:/data目录新建文件test.txt
进入虚拟机

vagrant ssh

进入共享文件夹

cd /data


编辑test.txt

sudo vi test.txt


保存退出
宿主机D:/data目录下打开文件

测试端口转发
进入虚拟机

vagrant ssh

设置nginx安装源

sudo vi /etc/yum.repos.d/nginx.repo

输入如下配置

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

安装nginx

sudo yum -y install nginx

启动nginx

sudo systemctl start nginx

设置开机启动

sudo systemctl enable nginx

宿主机浏览器访问80端口