Vagrant介绍

介绍

Vagrant是一个开源工具,允许您通过易于使用的命令界面创建,配置和管理虚拟机盒。从本质上讲,它是安装在虚拟化工具(如VirtualBox,Docker,Hyper-V)和VM之间的软件层。

它通常用于软件开发中,以确保所有团队成员都针对相同的配置进行构建。它不仅共享环境,而且还共享代码。这允许一个开发人员的代码在另一个开发人员的系统上工作,使协作和协作开发成为可能。

本教程将引导您了解配置和管理Vagrant所需的所有知识。

Vagrant入门

在开始之前,请确保您的系统上已有虚拟化解决方案。与Vagrant合作的解决方案包括VirtualBox,VMware,Docker,Hyper-V和自定义解决方案。

安装

1. 要查找最新版本的Vagrant,请使用网络浏览器导航到其官方网页:

Downloads | Vagrant by HashiCorp

2.您将看到所有不同支持的操作系统的列表,每个操作系统都有一个32位和64位软件包。下载适用于您的操作系统的文件,然后运行安装程序。

流浪者下载页面

注意:有关在基于Ubuntu和CentOS的Linux发行版上通过终端安装Vagrant的详细说明,请参阅我们的操作指南:

3. 有两种方法可以检查安装是否成功:

  • 您可以使用:
vagrant -v

它应显示计算机上运行的版本号。迄今为止的最新版本是Vagrant 2.2.6

  • 或者,您可以在终端中键入以下命令:
vagrant

如果工具安装正确,此输出将显示常用命令的列表。

注意:如果您没有虚拟化解决方案,我们在 CentOS 或Ubuntu上安装Docker的指南可以提供帮助。

Vagrant项目设置

1.首先创建一个目录来存储您的流浪汉文件:

sudo mkdir vagrant-test
cd vagrant-test

2. 从公共库下载 Ubuntu Trusty Tahr 发行版,并使用以下命令创建一个基本的 Vagrantfile:

vagrant init ubuntu/trusty64

如果您愿意,可以浏览到 https://app.vagrantup.com/boxes/search并下载您选择的Vagrantbox。

运行init命令时,Vagrant 会将该框安装到当前目录。Vagrantfile放在同一个目录中,可以编辑或复制。

Vagrant盒子

流浪者设置中的基本单位被称为"盒子"或"流浪者盒子"。这是操作系统环境的完整、独立的映像。

Vagrant Box 是基本操作系统映像的克隆。使用克隆可加快启动和置备过程。

1.无需使用上面的init命令,您只需下载并添加一个带有以下命令的框:

vagrant box add ubuntu/trusty64

这将下载该框并将其存储在本地。

2.接下来,您需要为它将要服务的虚拟盒子配置Vagrantfile。使用以下命令打开 Vagrant 文件:

sudo vi vagrantfile

3. 打开 Vagrant 文件后,将config.vm.box字符串从"base"更改为"ubuntu/trusty64"。

config.vm.box = "ubuntu/trusty64"

流浪者文件配置基础和配置

您可以在end命令上方添加另一行以指定 box 版本:

config.vm.box_version = “1.0.1”

或者,您可以指定一个 URL 以直接链接到该框:

config.vm.box_url = “https://vagrantcloud.com/ubuntu/trusty64”

如果要移除某个框,请使用以下命令:

vagrant box remove ubuntu/trusty64

Vagrant档案

Vagrant不是构建一个完整的操作系统映像并复制它,而是使用"Vagrantfile"来指定盒子的配置。

注意:每个框的下载页面都包含一个配置脚本,您可以将该脚本复制到 Vagrant 文件中。

供应

如果您在来宾操作系统上花费了足够的资金,您可能已经注意到它没有加载许多应用程序。

幸运的是,Vagrant支持通过保存在与Vagrant文件相同的目录中的bootstrap.sh文件进行自动配置。

要在客户机操作系统中添加基本资源监视器nmon,请使用以下命令:

sudo vi bootstrap.sh

在该文件中,输入以下内容:

#!/usr/bin/env bash

apt-get update

apt-get install -y nmon

if ! [ -L /var/www ]; then

rm -rf /var/www

ln -fs /vagrant /var/www

fi

保存文件并退出。接下来,编辑流浪者文件并添加设置行。它应如下所示:

Vagrant.configure("2") do |config|

config.vm.box = "ubuntu/trusty64"

config.vm.provision :shell,path: "bootstrap.sh"

end

当Vagrant读取Vagrant文件时,它会被重定向到读取我们刚刚创建的bootstrap.sh文件。该引导程序文件将更新包管理器,然后安装nmon包。如果使用vagrant upvagrant ssh命令,则现在应该能够运行nmon来显示虚拟机的资源。

资源调配为您提供了用于预配置虚拟环境的强大工具。您也可以使用apache2做同样的事情,并在虚拟环境中创建一个 Web 服务器。

注意:了解如何在Vagrant & Ansible的帮助下扩展运行Windows的开发人员工作站,以支持VM中的Linux内核。

供应商

本教程向您展示了如何将Vagrant与VirtualBox结合使用。但是,Vagrant也可以与许多其他后端提供商合作。

要使用 VMware 启动 Vagrant,请运行以下命令:

vagrant up –provider=vmware_fusion

或者,您可以使用亚马逊网络服务启动Vagrant:

vagrant up –provider=aws

运行初始命令后,后续命令将应用于同一提供程序。

启动和连接

Vagrantq启动

启动新虚拟环境的主要命令是:

vagrant up

这将运行软件并快速启动虚拟Ubuntu环境。但是,即使虚拟机正在运行,也不会看到任何输出。Vagrant不提供任何类型的用户界面。

Vagrant

您可以使用 SSH 连接连接到虚拟机(并验证它是否正在运行):

vagrant ssh

这将打开与新虚拟机的安全 shell 连接。命令提示符将更改为vagrant@trusty64,以指示您已登录到虚拟机。

浏览完虚拟机后,可以使用CTRL-D退出会话。虚拟机仍将在后台运行,但 SSH 连接将关闭。

要停止虚拟机运行,请输入:

vagrant destroy

您下载的文件将保留,但虚拟机中运行的任何内容都将消失。

同步的文件夹

Vagrant 会自动将项目目录中的内容与来宾(虚拟)系统中的特殊目录同步。项目目录是您之前创建的/vagrant-test。它也是保存流浪文件的同一个。

登录到虚拟机时,默认情况下,它从/home/vagrant/目录中启动。另一个目录/vagrant/包含主机系统上的相同文件。

您可以使用vagrant upvagrant ssh启动并登录到虚拟机,然后在/vagrant目录中创建一个测试文档。

使用exit命令关闭 SSH 会话,然后使用ls列出流浪者测试目录的内容。它应该显示您创建的测试文件。

这是在来宾操作系统中管理文件而无需使用 SSH 会话的便捷方法。

联网

Vagrant 包括将虚拟机放置在网络上的选项。在 Vagrantfile 的末尾,在end命令之前,使用config.vm.network命令指定网络设置。

例如:

config.vm.network “forwarded_port”,guest: 80,host: 8080

要进行更改,请使用以下命令保存并重新加载Vagrant:

vagrant reload

这将为客户机系统创建一个转发端口。您还可以定义专用网络、公用网络和其他更高级的选项。

Vagrant分享

Vagrant有一个方便的功能,您可以使用自定义URL共享您的Vagrant环境。

在 Vagrant 环境运行的情况下,使用以下命令:

vagrant share

系统将创建一个流浪者分享会话,然后生成一个URL。可以复制此 URL 并将其发送给其他人。如果您在 Vagrant 会话中配置了 Apache,则使用此 URL 的任何人都可以看到您的 Apache 配置页面。此 URL 会在您修改共享文件夹的内容时更改。

您可以使用CTRL-C关闭共享会话。

有关详细信息,请参阅流浪汉共享 文档

Vagrant清理

在来宾系统上完成工作后,您有几个如何结束会话的选项。

1. 要停止计算机并保存其当前状态,请运行:

vagrant suspend

您可以通过再次运行流浪者来恢复。这很像将机器置于睡眠模式

2. 要关闭虚拟机,请使用以下命令:

vagrant halt

同样,流浪者 up将重新启动同一虚拟机,您可以从上次中断的位置继续。这很像关闭一台普通的机器。

3. 要从系统中删除虚拟机的所有痕迹,请键入以下内容:

vagrant destroy

保存在虚拟机中的任何内容都将被删除。这释放了流浪者使用的系统资源。

下次您流浪时,必须重新导入并重新配置计算机。这很像在系统上格式化硬盘驱动器,然后重新加载新映像

结论

到目前为止,您应该熟悉基本的流浪者操作。如果您按照Vagrant的本教程进行操作,您甚至可能现在正在运行虚拟操作系统!

原文地址:https://blog.csdn.net/allway2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340