使用Vagrant创建CentOS虚拟机
使用Vagrant创建CentOS虚拟机
Vagrant是一款由HashiCorp公司提供的,用于快速构建虚拟机环境的软件。本节我们将使用Vagrant结合Oracle VM VirtualBox快速地在win10环境下构建CentOS7虚拟机。在此之前需要先安装好 Vagrant 和 VirtualBox。
构建CentOS7虚拟机
- 在https://app.vagrantup.com/boxes/search下搜索centos:


- 在win10任意盘符下创建 vagrant_vm 目录(注意目录最好不要有中文和空格),然后在该目录下使用cmd执行命令:
vagrant init centos/7


- 执行 vagrant up 启动(这时候最好提前打开VirtualBox),然后会出现以下界面,一直等待完成后即可,在完成后,会在 VirtualBox 的列表里会出现一台正在运行的虚拟机:


- 在上面的安装过程中我们会发现,过程非常的缓慢,我们可以用以下的方式加速:
在上面的日志中可以找到这么一行:
Downloading: https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box
后面这个URL就是下载地址了,将它黏贴到迅雷等下载工具下载即可。然后将下载好后的xxx.box文件复制到 vagrant_vm 目录下,并且重命名为 centos7.box(删除centos7.box之外的文件和目录,只保留centos7.box一个文件)

接着在vagrant_vm下运行命令,导入已存在的镜像(box文件):
vagrant box add centos/7 centos7.box

初始化box,接着执行命令:
// 注意此处的名称和上方保持一致
vagrant init centos/7


初始化成功后执行命令启动:
vagrant up

构建成功,效果和一开始在线下载构建是一样的。
常见的几个vagrant命令
- vagrant status
查看虚拟机状态信息
- vagrant halt
关闭已经启动的虚拟机
- vagrant up
启动虚拟机
- vagrant suspend
暂停虚拟机,会保存暂停之前的状态
- vagrant resume
恢复暂停之后的虚拟机
- vagrant reload
重新启动虚拟机
- vagrant destroy
销毁已经创建的虚拟机
- vagrant ssh
命令行的模式链接虚拟机
远程工具连接虚拟机
在使用 vagrant ssh 的实际操作中发现,可能会出现如下的错误:

在 Google上找了很多方法,说是 private key 文件的权限问题,但是都没有解决,后面直接使用ssh连接工具连接成功,具体的操作如下图:
1. 先普通用户登陆






2. 配置root用户登陆
使用 vagrant 用户登陆成功后,可以使用下方命令切换到root用户
su root
// 密码
vagrant

但是这样还是不能直接使用root用户登陆,需要以下的操作:
首先以默认身份登录,切换到root用户后,并修改 sshd 配置文件:
vim /etc/ssh/sshd_config
做如下变动
# PermitRootLogin prohibit-password
PermitRootLogin yes # 允许 root 身份登录
# PasswordAuthentication on
PasswordAuthentication yes # 可以使用密码登录
重启 sshd 服务
systemctl restart sshd
然后使用 vagrant reload 命令直接重启虚拟机,这时我们就可以直接使用 root/vagrant 登陆了。
目录共享
Vagrant的根目录(就是我们一开始创建的vagrant_vm)和虚拟机里的/vagrant目录是共享的。当我们在 vagrant_vm 新建一个文件时,在虚拟机/vagrant的目录也有同样的内容


自定义共享
- 共享目录配置
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=664"]--可选 //dmode配置目录权限,fmode配置文件权限 默认权限777
,type(string):--可选 //指定文件共享方式,例如:'nfs',vagrant默认根据系统环境选择最佳的文件共享方式
- 安装vbguest插件
为防止挂载失败,提示如下图 because the filesystem "vboxsf" is not available 的问题,提前执行该命令安装插件

安装如下的插件即可解决:
vagrant plugin install vagrant-vbguest

关闭更新和下载
config.vbguest.auto_update = false #防止重新安装更新
config.vbguest.no_remote = true #不从远程web端下载
- 挂载共享目录
编辑vagrant_vm文件夹下的Vagrantfile文件:

在这行下面添加如下配置:
config.vm.synced_folder ".","/vagrant",disabled:true # 禁用vagrant的默认共享目录,不然有可能挂载失败
config.vm.synced_folder "./data", "/vagrant_data", create:true, owner: "root", group: "root"
配置的意思是将当前路径下的data文件夹和虚拟机的/vagrant_data,拥有者为root,群组为root,如果路径不存在则创建。
修改了Vagrantfile文件需要执行 vagrant reload 重启。重启后我们在data文件夹下新建一个 test.txt 文件,然后连接虚拟机看看是否共享成功
然后再次重启,连接虚拟机去查看/vagrant_data目录下是否共享成功
网络配置
虚拟机私有网络
在 Vagrantfile 中开启网络的配置信息:

然后使用命令vagrant reload重启虚拟机,重启后我们使用ping命令看是否可以在windows上访问到这个ip:

连接虚拟机,使用 ip addr 查看其IP:

虚拟机公有网络
编辑Vagrantfile,将我们刚刚开启的私有网络配置注释,然后开启下面这行配置:

然后重启虚拟机,重启过程中会让你根据当前网络环境选择:

此处显示我的网络适配器的选项是 2,所以此处我输入了 2,重启好后连接虚拟机,查看其IP:


公有网络和私有网络的区别是,公有网络是无线路由器自动分配的IP地址,并且在同一个wifi网络下的其他设备也是可以访问这个IP地址的。
多主机配置
使用Vagrant创建CentOS虚拟机的更多相关文章
- ESXi 上创建CentOS虚拟机
之前介绍了ESXi上添加存储.本篇介绍一下在ESXi上创建CentOS虚拟机. 方法/步骤 登陆ESXi,选择“创建/注册虚拟机” 选择“创建新的虚拟机” 给装的虚拟机命名,并选择操作系统及版本 ...
- 如何在VMware中进行创建CentOS虚拟机
今天给大家分享如何在VMware中创建CentOS虚拟机,CentOS6.7为例进行说明,CentOS7版本亦可以参考该教程,具体的教程如下. 1.之后打开VMware,主页面如下图所示.点击第一个框 ...
- vmware创建centos虚拟机
下载centos 安装之前你需要下载centos镜像:http://mirrors.aliyun.com/ 创建虚拟机 如果还没有安装vmware请参考:https://www.cnblogs.com ...
- CentOS8安装VirtualBox,并创建CentOS虚拟机
安装VirtualBox 执行以下命令并启用VirtualBox和EPEL包仓库 [root@localhost~] dnf config-manager --add-repo=https://dow ...
- 在VMware软件下创建CentOs虚拟机
1.创建新的虚拟机. 打开VMware软件,点击主页内创建新的虚拟机 2.进入新建虚拟机向导 点击典型,点击下一步 3.在下一步中单击稍后安装操作系统 点击下一步 4.选择操作系统类型 因为CentO ...
- Git+VirtalBaox+Vagrant创建Linux虚拟机
文章内容来自Udacity课程:Linux Command Line Basics--Getting Started with the Shell Your own Linux box To lear ...
- virtualbox创建centos7虚拟机
安装Virtualbox 下载安装: 直接到官网上下载,https://www.virtualbox.org/wiki/Downloads 然后一键傻瓜式的安装即可. 设置默认虚拟电脑位置: 管理=& ...
- vagrant创建centos7后虚拟机磁盘爆满
1.问题现象 使用df -h命令,磁盘占用直接99%,明明啥也没干... 2.解决方案 找到C:\Users\你的用户名\.vagrant.d\boxes\centos7\0\virtualbox目 ...
- Vagrant 创建虚拟机
Vagrant 创建虚拟机 1. 下载相关软件 虚拟机软件:vmware virtualbox Vagrant 软件:vagrant cd /tmpwget http://download.vir ...
- 使用Vagrant创建多节点虚拟机集群
摘要: 在前一篇博客中,我介绍了使用Vagrant快速创建虚拟机,但是所创建的只是单个虚拟机.这篇博客将介绍使用Vagrant创建多节点虚拟机集群,可以作为Hadoop,Spark以及Storm等分布 ...
随机推荐
- 爱奇艺在 Dubbo 生态下的微服务架构实践
简介: 本文整理自作者于 2020 年云原生微服务大会上的分享<爱奇艺在 Dubbo 生态下的微服务架构实践>,重点介绍了爱奇艺在 Dubbo.Sentinel 等开发框架方面的使用经验以 ...
- 伴鱼:借助 Flink 完成机器学习特征系统的升级
简介: Flink 用于机器学习特征工程,解决了特征上线难的问题:以及 SQL + Python UDF 如何用于生产实践. 本文作者陈易生,介绍了伴鱼平台机器学习特征系统的升级,在架构上,从 Sp ...
- 2019-8-31-C#-自动翻页-PPT-测试脚本
title author date CreateTime categories C# 自动翻页 PPT 测试脚本 lindexi 2019-08-31 16:55:58 +0800 2019-08-1 ...
- 3.Exporter概述
一.Exporter概述 所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter.而Exporter的一个实例称为target,如下所示,Prometheus通过轮询的方 ...
- OSI模型之数据链路层
一.简介 数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层的数据可靠地传输到相邻节点的目标机网络层.其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的 ...
- 在鼠标右键菜单中新增新建Markdown文件选项(VSCode)
引言 正常情况下,我们新建md文件有两种方式:一是通过Markdown编辑器新建,二是新建txt文件再修改后缀. 但是在Windows系统中,我们可以通过修改注册表来新增右键菜单选项.这里我们可以通过 ...
- 国外anonfiles网盘大文件下载器
各位注意了,这个网站很久以前是可以国内直接访问的,后来被墙了,但仍然可以使用代理下载,现如今,6天前大概2023年8月10号左右这个网站已经挂了,就是彻底不能用了,所有与之有关的东西比如网页,都是假的 ...
- 模型压缩与部署-书生浦语大模型实战营学习笔记5&大语言模型11
大语言模型-11.模型压缩与部署 书生浦语大模型实战营学习笔记4-模型压缩与部署 本文包括第二期实战营的第5课内容,介绍关于模型压缩的相关内容,主要包括.模型量化和模型部署的相关内容. 模型部署 定义 ...
- CMS垃圾收集器小实验之CMSInitiatingOccupancyFraction参数
CMS垃圾收集器小实验之CMSInitiatingOccupancyFraction参数 背景 测试CMSInitiatingOccupancyFraction参数,测试结果和我的预期不符,所以花了一 ...
- vue03 01.vite创建项目
目录 01.创建项目 打包工具 vite介绍 安装命令 安装项目依赖 启动项目 浏览效果 代码目录 打包 预览运行 插件使用 编辑器 01.创建项目 打包工具 vite官网 vite创建项目 vite ...