VitualBox+Vagrant搭建ubuntu 18.04 挂载共享目录
1.安装VirtualBox和Vagrant
在win10下先安装VirtualBox然后再安装Vagrant。我这里用的VirtualBox6.0.8,Vagrant_2.2.4_x86_64。
- 虚拟机:VirtualBox
- 管理工具:Vagrant
1)安装VirtualBox
直接下载安装一直点下一步即可;
2)安装Vagrant
直接下载安装一直点下一步即可;
注意:下载的时候,virtualbox和vagrant的版本要搭配,建议都下载最新版的。还有就是要根据自己的操作系统版本进行选择32位或者64位下载。在windows系统中,可能还需要配置环境变量以及一定要开启VT-x/AMD-V硬件加速
在windows下安装vagrant,为了写入相应配置到环境变量,可能会要求重新启动一下系统,或者可以自己将bin目录配置进环境变量,可不需重启系统
2.下载box
我这里用的ubuntu 18.04
官网的box列表,可以选择自己需要的系统进行安装
3.添加box
创建一个目录,把bionic-server-cloudimg-amd64-vagrant.box放到创建的目录下,然后cmd到该目录下执行以下命令
vagrant box add ubuntu18 bionic-server-cloudimg-amd64-vagrant.box
4.初始化ubuntu 18.04
执行初始化后会在当前文件夹下生成一个文件Vagrantfile
vagrant init ubuntu18
修改配置文件如下
Vagrant.configure("2") do |config| config.vm.box = "ubuntu18" config.vm.hostname = "ubuntu18" #系统下的主机名 config.vm.synced_folder "E:/dnmp", "/dnmp",create: true,owner: "root", group: "root",mount_options:["dmode=775","fmode=644"] #共享目录 config.vm.network "public_network" #采用桥接网络,共享主机网络 config.vm.provider "virtualbox" do |vb| vb.memory = 2048 vb.cpus = 2 vb.name = "ubuntu18_box" end
end
共享目录配置解释
config.vm.synced_folder "your_folder"(必须) //物理机目录,可以是绝对地址或相对地址,相对地址是指相对与vagrant配置文件所在目录 ,"vm_folder(必须)" // 挂载到虚拟机上的目录地址 ,create(boolean)--可选 //默认为false,若配置为true,挂载到虚拟机上的目录若不存在则自动创建 ,disabled(boolean):--可选 //默认为false,若为true,则禁用该项挂载 ,owner(string):'www'--可选 //虚拟机系统下文件所有者(确保系统下有该用户,否则会报错),默认为vagrant ,group(string):'www'--可选 //虚拟机系统下文件所有组( (确保系统下有该用户组,否则会报错),默认为vagrant ,mount_options(array):["dmode=775","fmode=644"]--可选 //dmode配置目录权限,fmode配置文件权限 默认权限777 ,type(string):--可选 //指定文件共享方式,例如:'nfs',vagrant默认根据系统环境选择最佳的文件共享方式
5.安装vbguest插件,(防止挂载失败,提示because the filesystem "vboxsf" is not available的问题,提前执行该命令安装插件)
由于vagrant没有Guest Additions,通过vagrant不能创建共享文件夹,所以需要下载vbguest插件,当启动时自动安装Guest Additions
所以需要关闭虚拟机然后执行安装命令,安装完成后重新加载虚拟机,会看到VirtualBox Guest Additions installer正在安装。
vagrant plugin install vagrant-vbguest
6.启动虚拟机(启动后可看到VirtualBox会有该虚拟机自动生成)
vagrant up
7.连接虚拟机
vagrant ssh
初始密码账户是:
账户 | 密码 |
---|---|
vagrant | vagrant |
以下为ssh连接的ip和地址,端口,账号密码信息
设置root账号
sudo passwd root #按照提示输入两次新的密码,并加以确认
切换至root用户
su root
8.vagrant常用命令
命令 | 描述 |
---|---|
vagrant box add | 添加box的操作 |
vagrant init | 初始化box的操作,会生成vagrant的配置文件Vagrantfile |
vagrant up | 启动本地环境 |
vagrant ssh | 通过 ssh 登录本地环境所在虚拟机 |
exit | 退出虚拟机 |
vagrant halt | 关闭本地环境 |
vagrant suspend | 暂停本地环境 |
vagrant resume | 恢复本地环境 |
vagrant reload | 修改了 Vagrantfile 后,使之生效(相当于先 halt,再 up) |
vagrant destroy | 彻底移除本地环境 |
vagrant box list | 显示当前已经添加的box列表 |
vagrant box remove | 删除相应的box |
vagrant package | 打包命令,可以把当前的运行的虚拟机环境进行打包 |
vagrant plugin | 用于安装卸载插件 |
vagrant status | 获取当前虚拟机的状态 |
vagrant global-status |
更多详细配置:https://blog.csdn.net/youcijibi/article/details/103119974
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-07-31 Laravel 使用自己的类库三种方式
2019-07-31 Linux 服务器CPU占用率100%,使用率高解决方案