Vagrant 虚拟机工具基本操作指南

Vagrant 虚拟机工具基本操作指南

​#虚拟机 #​

​#vargant#​

​#ubuntu#​

虚拟机virtualbox ,VMWare及WSL等大家都很了解了,那Vagrant是什么东西?

它是一组命令行工具,可以象Docker管理容器一样管理虚拟机,这样快速创建和管理虚拟机集群。

vagrant的只是一组前端管理工具,而具体的虚拟机还得由相应虚拟机软件比如 virtualbox和vmware来实现。

那为什么不直接使用虚拟机呢?原因是在很多开发中,对于ubuntu的版本很敏感,

因此我们需要一个快速创建指定版本操作系统的工具,而vagrant正好就这样工具.

一.安装VirtualBox 和vagrant

1.1 Ubuntu下安装

1.1.1 安装virtualbox

sudo apt install virtualbox virtualbox-ext-pack

安装成功后在系统菜单会出现virtual box 图标

1.1.2 安装vagrant

下载安装文件

wget https://releases.hashicorp.com/vagrant/2.3.7/vagrant_2.3.7-1_amd64.deb

安装

sudo apt install ./vagrant_2.3.7-1_amd64.deb

测试版本为 virtualbox 版本为 6.1.38 , Vagrant 2.3.7

image

1.2 Windows下安装

1.2.1 virtualbox 安装

首先从下载最新的virtualbox 虚拟机安装包,安装即可

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

目前的链接是 https://download.virtualbox.org/virtualbox/7.0.10/VirtualBox-7.0.10-158379-Win.exe

然后下载virtualbox 扩展包,这是usb捕获必须的,下载后在virualbox的界面里安装

https://download.virtualbox.org/virtualbox/7.0.10/Oracle_VM_VirtualBox_Extension_Pack-7.0.10.vbox-extpack

7.0以下版本是 安装方法在主菜单 -->管理 --> 全局设定--> 扩展 ,在右侧点击带加号的小图标,添加新包,选择刚下载的扩展包即可。

image

7.0 版本安装是 主菜单 -->管理 -->工具-->扩展包管理器,增加安装图标,选择刚下载扩展包即可

image

1.2.2 vagrant 安装

从官网下载安装包

https://www.vagrantup.com/downloads

目前安装是

https://releases.hashicorp.com/vagrant/2.3.7/vagrant_2.3.7_windows_amd64.msi

下载后一路安装即可.

二. vagrant创建虚拟机

在创建虚拟机之前,我们需要知道几个概念,vagrant创建虚拟机是基于它的模板文件box来创建。

创建虚拟机后,必须明显的指定一个目录创建虚拟机,然后所有虚拟机的命令必须在这个目录下操作,否则会报错。

后面我将以home/sguav/vagrant 为虚拟机目录

vagrant 操作虚拟机主要通过修改一个名叫Vagrantfile的配置文件,它实际是一个ruby脚本,这个文件就放在虚拟机目录下。

创建虚拟机中的box可以从vagrant官方的映像库下载,也能从第三方映像库下载,比如清华大学的映像站,也能从本地一个指定的box文件创建。

2.1 官方映像库

我们下载一个指定版本映像,可以在vagrant 官方映像库查看其相关映像,

注意不同虚拟机后端的box文件是不一样,所以如果有vmware box建议下载,而最全是virtualbox 格式,还有libvirt虚拟机

image

而且我看vagrant支持后端非常多

image

我们打开一个 18.04的支持,这里提供一个5种不同的映像

image

并且提供几种不同的初始化方法。

image

2.2 初始化虚拟机

初始化虚拟机主要形成一个配置文件Vagrantfile文件

在官方里已经有示例,首先新建一个虚拟机目录,这里假设 /home/sguav/vagrant,以下全在这个目录操作

使用init 子命名初始化。

以下几个样例

初始化ubuntu 20.04来处理。

vagrant init generic/ubuntu-20.04

初始化ubuntu 18.04 并使用第三方的映像库中的box

vagrant init ubuntu-bionic https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box

成功后会在这个目录创建一个Vagrantfile

v a g r a n t i n i t u b u n t u − b i o n i c h t t p s : / / m i r r o r s . t u n a . t s i n g h u a . e d u . c n / u b u n t u − c l o u d − i m a g e s / b i o n i c / c u r r e n t / b i o n i c − s e r v e r − c l o u d i m g − a m d 64 − v a g r a n t . b o x A ‘ V a g r a n t f i l e ‘ h a s b e e n p l a c e d i n t h i s d i r e c t o r y . Y o u a r e n o w r e a d y t o ‘ v a g r a n t u p ‘ y o u r f i r s t v i r t u a l e n v i r o n m e n t ! P l e a s e r e a d t h e c o m m e n t s i n t h e V a g r a n t f i l e a s w e l l a s d o c u m e n t a t i o n o n ‘ v a g r a n t u p . c o m ‘ f o r m o r e i n f o r m a t i o n o n u s i n g V a g r a n t . h x y @ s g − h x y − u b u n t u : / h o m e / s g u a v / v a g r a n t vagrant init ubuntu-bionic https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. hxy@sg-hxy-ubuntu:/home/sguav/vagrant vagrantinitubuntubionichttps://mirrors.tuna.tsinghua.edu.cn/ubuntucloudimages/bionic/current/bionicservercloudimgamd64vagrant.boxAVagrantfilehasbeenplacedinthisdirectory.Youarenowreadytovagrantupyourfirstvirtualenvironment!PleasereadthecommentsintheVagrantfileaswellasdocumentationonvagrantup.comformoreinformationonusingVagrant.hxy@sghxyubuntu:/home/sguav/vagrant ls
Vagrantfile

当然你也可以直接编写一个Vagrantfile 文件,作用跟init指令差不多

参见映像网站样列,编写如下一个文件放在VagrantFile 目录

安装18.04

Vagrant.configure("2") do |config|config.vm.box = "generic/ubuntu1804"
end

安装 20.04

Vagrant.configure("2") do |config|config.vm.box = "generic/ubuntu2004"
end

2.3 激活虚拟机

激活虚拟机会做两个动作,一,如果本地的不存所需要的box,会从相应用网址下载。二,创建真正的虚拟机文件。

在vagrant目录下执行如下语句即可激活

vagrant up

如果后端是vmware ,则需要如下参数进行激活。

vagrant up -- provider=vmware_desktop

激活成功后,会自动启动

2.4 虚拟机基本操作

登录虚拟机终端,新建虚拟机不需要密码,直接进入

vagrant ssh

这是一个登录运行实例

v a g r a n t s s h W e l c o m e t o U b u n t u 18.04.6 L T S ( G N U / L i n u x 4.15.0 − 212 − g e n e r i c x 8 6 6 4 ) ∗ D o c u m e n t a t i o n : h t t p s : / / h e l p . u b u n t u . c o m ∗ M a n a g e m e n t : h t t p s : / / l a n d s c a p e . c a n o n i c a l . c o m ∗ S u p p o r t : h t t p s : / / u b u n t u . c o m / a d v a n t a g e S y s t e m i n f o r m a t i o n a s o f F r i J u l 2803 : 22 : 18 U T C 2023 S y s t e m l o a d : 0.18 P r o c e s s e s : 101 U s a g e o f / : 2.9 M e m o r y u s a g e : 13 S w a p u s a g e : 0 E x p a n d e d S e c u r i t y M a i n t e n a n c e f o r I n f r a s t r u c t u r e i s n o t e n a b l e d . 0 u p d a t e s c a n b e a p p l i e d i m m e d i a t e l y . E n a b l e E S M I n f r a t o r e c e i v e a d d i t i o n a l f u t u r e s e c u r i t y u p d a t e s . S e e h t t p s : / / u b u n t u . c o m / e s m o r r u n : s u d o p r o s t a t u s N e w r e l e a s e ′ 20.04.6 L T S ′ a v a i l a b l e . R u n ′ d o − r e l e a s e − u p g r a d e ′ t o u p g r a d e t o i t . v a g r a n t @ u b u n t u − b i o n i c : vagrant ssh Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-212-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Fri Jul 28 03:22:18 UTC 2023 System load: 0.18 Processes: 101 Usage of /: 2.9% of 38.70GB Users logged in: 0 Memory usage: 13% IP address for enp0s3: 10.0.2.15 Swap usage: 0% Expanded Security Maintenance for Infrastructure is not enabled. 0 updates can be applied immediately. Enable ESM Infra to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status New release '20.04.6 LTS' available. Run 'do-release-upgrade' to upgrade to it. vagrant@ubuntu-bionic:~ vagrantsshWelcometoUbuntu18.04.6LTS(GNU/Linux4.15.0212genericx8664)Documentation:https://help.ubuntu.comManagement:https://landscape.canonical.comSupport:https://ubuntu.com/advantageSysteminformationasofFriJul2803:22:18UTC2023Systemload:0.18Processes:101Usageof/:2.9Memoryusage:13Swapusage:0ExpandedSecurityMaintenanceforInfrastructureisnotenabled.0updatescanbeappliedimmediately.EnableESMInfratoreceiveadditionalfuturesecurityupdates.Seehttps://ubuntu.com/esmorrun:sudoprostatusNewrelease20.04.6LTSavailable.Rundoreleaseupgradetoupgradetoit.vagrant@ubuntubionic:  sudo lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.6 LTS
Release:	18.04
Codename:	bionic

停止虚机

执行下面的命令可以关闭虚机:

vagrant halt

直接在 VirtualBox 上关闭虚机,或者直接在虚机内部执行 poweroff​ 命令也都是可以的。

暂停虚机

执行下面的命令可以暂停虚机:

vagrant suspend

恢复虚机

执行下面的命令把暂停状态的虚机恢复运行:

vagrant resume

注意: 不管虚机是关闭还是暂停状态,甚至是 error 状态,都可以执行 vagrant up​ 来让虚机恢复运行。

重载虚机

执行下面的命令会重启虚机,并且重新加载 Vagrantfile​ 中的配置信息:

vagrant reload

删除虚机

最后,执行下面的命令可以彻底删除虚机,包括整个虚机文件:

vagrant destroy

注意: 在当前这个小例子中,上面所有的 vagrant​ 命令都需要在 Vagrantfile​ 所在的目录下执行。

三.虚拟机的一些常见配置

打开后端图形界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/458753.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用阿里云一键部署 幻兽帕鲁服务器 菜鸟教程 一键快速部署

本文通过介绍如何 从购买阿里云服务器(windows系统)、到一键傻瓜式快速部署、再到连接到帕鲁服务器,简介明了,易上手,没相关专业知识的游戏玩家也能一键傻瓜式搭建服务器环境。 背景:最近很火爆的游戏《幻…

C程序训练:二分查找法的应用之2

本文来自:C程序训练:二分查找法的应用之2 在《C程序训练:二分查找法的应用》一文中介绍了利用二分查找计算某个区间中数的个数,本文介绍利用二分查找法计算数列中出现单个数字的位置。题目描述如下。 题目描述:一维整…

初识C语言·预处理详解

目录 1 预定义符号 2 define定义常量 3 #define定义宏 4 带有副作用的宏 5 宏替换的规则 6 宏和函数的对比 7 # 和 ## i) #运算符 ii) ##运算符 8 命名约定 9 命令行定义 10 条件编译 条件编译1: 条件编译2: 条件编译3: 条件…

嵌入式学习Day14 C语言 --- 位运算

位运算 注意:符号位也遵循这个规则 一、按位与(&) 运算规则:一假则假 int a 0x33;a & 0x55;0011 00110101 0101 &----------0001 0001 //0x11 二、按位或(|) 运算规则:一真则真 int a 0x33;a |0x55;0011 00110101 0101 |…

JVM系列——垃圾收集器Parrlel Scavenge、CMS、G1常用参数和使用场景

背景 当前在Java领域,JDK 8版本仍然享有广泛的使用,它支持了Parallel Scavenge、CMS和G1这几种垃圾收集器。因此,为了在业务应用中更加高效地进行开发和性能调优,我们需要对这些垃圾收集器的工作原理和特性有一个全面的理解和认识…

零基础学Python之面向对象

1.面向对象编程简介 (1)什么是面向对象 面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事…

Windows Server 2019 DHCP服务器搭建

系列文章目录 目录 系列文章目录 文章目录 前言 一、DHCP服务器是什么? 二、配置服务器 1.实验环境搭建 1)实验服务器配置和客户端 2)实验环境 2.服务器配置 ​编辑 文章目录 Windows Server 2003 Web服务器搭建Windows Server 2003 FTP服务器搭建Windows S…

基于Java农产品商城系统设计与实现(源码+部署文档)

博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…

Dataway工具(一个接口竟然可以如此简单的配置出来无需开发任何一行代码,也不需要做任何 Mapping 实体映射绑定。)

基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具,使得使用者无需开发任何代码就配置一个满足需求的接口。整个接口配置、测试、冒烟、发布,一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共…

生产问题-Java服务CPU飙升100%问题

情况回顾 最近运维同学反馈有微服务CPU飙升100%,根据dump的日志文件排查出问题所在,在这里给大家做简单的分享,希望给大家工作上可以带来帮助。 核心伪代码分析 SneakyThrows//包装成 RuntimeException ,骗过编译器&#xff0c…

navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户

navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户 效果获取权限NotFoundErrorNotAllowedError 代码 效果 获取权限 NotFoundError NotAllowedError 代码 // 调用 captureLocalMedia()// 方法 function captureLocalMedia() {console.warn(Requesting lo…

jmeter二次开发函数-生成身份证号

代码参考这个 java 随机生成身份证代码 Java的身份证号码工具类 pom文件添加 <dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>5.4.1</version></dependency><d…