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.rhkb.cn/news/253669.html

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

相关文章

Java代码实现基数排序算法(附带源码)

基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 1. 基数排序…

缓存组件Caffeine的使用

caffeine是一个高性能的缓存组件&#xff0c;在需要缓存数据&#xff0c;但数据量不算太大&#xff0c;不想引入redis的时候&#xff0c;caffeine就是一个不错的选择。可以把caffeine理解为一个简单的redis。 1、导入依赖 <!-- https://mvnrepository.com/artifact/com.git…

Sublime Text 3配置 Node.js 开发环境

《开发工具系列》 Sublime Text 3配置 Node.js 开发环境 一、引言二、主要内容2.1 初识 Sublime Text 32.2 初识 Node.js2.3 接入 Node.js2.3.1 下载并安装 Node.js2.3.2 环境变量配置 2.4 配置 Node.js 开发环境2.5 编写 Node.js 代码2.6 运行 Node.js 代码 三、总结 一、引言…

网站服务器中毒或是被入侵该怎么办?

随着互联网的普及和发展&#xff0c;网站服务器已经成为企业和个人不可或缺的资源。然而&#xff0c;网络安全问题也日益突出&#xff0c;其中服务器中毒或被入侵是常见的问题之一。一旦服务器中毒或被入侵&#xff0c;不仅会导致数据泄露、网站瘫痪等严重后果&#xff0c;还可…

Ubuntu22.04切换系统cuda版本

由于最近项目要求的cuda版本有差异&#xff0c;而在Ubuntu中可以通过切换cuda来满足需求&#xff0c;现记录如下。 1、按照 Ubuntu22.04与深度学习配置 中的cuda安装章节&#xff0c;将需要的cuda版本下载到本地并进行安装。 2、cuda安装完成后修改bashrc文件内容 sudo gedit …

2024 Google Chrome 浏览器回退安装旧版本

2024 Google Chrome 浏览器回退安装旧版本 查看当前谷歌版本备份浏览器数据卸载浏览器双击重新安装旧版本浏览器 查看当前谷歌版本 详细参考&#xff1a;参考 笔记&#xff1a;最近谷歌浏览器更新后&#xff0c;用着总感觉别扭&#xff1a;不习惯 备份浏览器数据 &#xff…

MySQL ——group by子句使用with rollup

group by 子句使用with rollup关键字之后&#xff0c;具有分组加和的功能。即&#xff1a;在所有的分组记录之后&#xff0c;自动新增一条记录&#xff0c;从全局计算所有记录的数据。 0 问题描述 求出每年的学生平均成绩&#xff0c;及历史至今的平均成绩&#xff0c;结果保留…

高可用 k8s 1.29 一键安装脚本, 丝滑至极

博客原文 文章目录 集群配置配置清单集群规划集群网络规划 环境初始化主机配置 配置高可用ApiServer安装 nginx安装 Keepalived 安装脚本需要魔法的脚本不需要魔法的脚本配置自动补全加入其余节点 验证集群 集群配置 配置清单 OS&#xff1a; ubuntu 20.04kubernetes&#xf…

C++三剑客之std::any(一) : 使用

相关系列文章 C三剑客之std::any(一) : 使用 C之std::tuple(一) : 使用精讲(全) C三剑客之std::variant(一) : 使用 C三剑客之std::variant(二)&#xff1a;深入剖析​​​​​​​ 目录 1.概述 2.构建方式 2.1.构造函数 2.2.std::make_any 2.3.operator分配新值 3.访问值…

猫头虎分享已解决Bug || Go Error: imported and not used: ‘fmt‘

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

EMC学习笔记(二十一)降低EMI的PCB设计指南(一)

降低EMI的PCB设计指南&#xff08;一&#xff09; 1.概述2.射频3.连接器与过孔元件4.静态引脚和动态引脚和输入5.基本回路6.差模与共模 tips&#xff1a;资料主要来自网络&#xff0c;仅供学习使用。 1.概述 印刷电路板(PCB)的一般布局准则&#xff0c;基本上都有相对的文件进…

Phobos捆绑某数控软件AdobeIPCBroker组件定向勒索

前言 Phobos勒索病毒最早于2019年被首次发现并开始流行起来&#xff0c;该勒索病毒的勒索提示信息特征与CrySiS(Dharma)勒索病毒非常相似&#xff0c;但是两款勒索病毒的代码特征却是完全不一样&#xff0c;近日笔者在逛某开源恶意软件沙箱的时候发现了一款Phobos勒索病毒捆绑…

ad18学习笔记十八:如何放置丝印层敷铜?

我画板的时候&#xff0c;需要把板卡顶面丝印层的一个矩形区域&#xff0c;画成白色&#xff0c;但是这个区域内有好几个焊盘&#xff0c;丝印涂色的地方需要避开这几个焊盘&#xff0c;我觉得不能简单的在丝印层画一个矩形完事&#xff0c;最好让丝印层的这个区域&#xff0c;…

Docker容器化K8s集群部署教程(一键部署sheel脚本)

本文通过脚本&#xff0c;可以快速地部署和配置Kubernetes环境&#xff0c;省去了各插件手动部署、配置的繁琐过程。 先看最终结果&#xff1a; [rootlocalhost home]# kubectl get node NAME STATUS ROLES AGE VERSION k8smaster Ready control-p…

计网——运输层、端口号

目录 运输层 1 进程之间的通信 运输层的作用 屏蔽作用 可靠信道与不可靠信道 2 运输层的两个主要协议 3 运输层的端口 端口号 (protocol port number) 软件端口 硬件端口 TCP/IP 运输层端口的标志 两大类、三种类型的端口 常用的熟知端口 运输层 1 进程之间的通信 …

【Spring源码解读!底层原理进阶】【下】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Spring 狂野之旅&#xff1a;底层原理高级进阶》 &#x1f680…

「深度学习」循环神经网络RNN

一、序列模型的例子 二、数学符号定义 X^{(i)<t>}&#xff1a;训练样本 i 的输入序列的第 t 个元素。 T_{X}^{i}&#xff1a;训练样本 i 的输入序列的长度。 Y^{(i)<t>}&#xff1a;训练样本 i 的输出序列的第 t 个元素。 T_{Y}^{i}&#xff1a;训练样本 i 的输…

[大厂实践] Netflix容器平台内核panic可观察性实践

在某些情况下&#xff0c;K8S节点和Pod会因为出错自动消失&#xff0c;很难追溯原因&#xff0c;其中一种情况就是发生了内核panic。本文介绍了Netflix容器平台针对内核panic所做的可观测性增强&#xff0c;使得发生内核panic的时候&#xff0c;能够导出信息&#xff0c;帮助排…

Linux(二)

远程登录 Linux大多应用于服务器&#xff0c;而服务器不可能像PC一样放在办公室&#xff0c;它们是放在IDC机房的&#xff0c;所以我平时登录linux系统都是通过远程登录的。 Linux系统中是通过ssh服务实现的远程登录功能。默认ssh服务开启了22端口&#xff0c;而且当我们安装…

计划任务功能优化,应用商店上架软件超过100款,1Panel开源面板v1.9.6发布

2024年2月7日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.9.6版本。 在v1.9.5和v1.9.6这两个小版本中&#xff0c;1Panel针对计划任务等功能进行了多项优化和Bug修复。此外&#xff0c;1Panel应用商店新增了3款应用&#xff0c;上架精选软件应用超过1…