win10安装配置vagrant

2024-06-01 13:08
文章标签 配置 安装 win10 vagrant

本文主要是介绍win10安装配置vagrant,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Vagrant介绍

       Vagrant让我们可以通过代码的方式快速地、可重复地创建针对不同虚拟环境的虚拟机,包括Virtualbox、AWS、Docker等。它使得我们可以一次性地、自动创建多个环境相同的虚拟机,对于软件开发和测试尤其有用。

Vagrant和Docker区别

vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

区别:Vagrant就是你的开发环境的部署工具;而docker是你的运行环境部署工具。

 基本软件

1、vagrant_2.2.3_x86_64.msi

     官网下载地址:https://releases.hashicorp.com/vagrant/2.2.3/vagrant_2.2.3_x86_64.msi

2、VirtualBox-5.2.26-128414-Win.exe

     官网下载地址:https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe

3、Git-2.20.1-64-bit.exe

     官网下载地址:https://github.com/git-for-windows/git/releases/download/v2.20.1.windows.1/Git-2.20.1-64-bit.exe

      主要使用git提供的命令行工具,提供粘贴复制等功能。

Vagrant基本命令

命令作用
vagrant box add添加box的操作
vagrant init初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up启动本地环境
vagrant ssh通过ssh登录本地环境所在虚拟机
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显示当前用户Vagrant的所有环境状态

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

box是什么

Vagrant开源社区提供了许多已经打包好的操作系统,我们称之为box。

box下载地址

官方镜像:https://vagrantcloud.com/boxes/search

第三方仓库:http://www.vagrantbox.es/ 

安装一个box

1、建立自己的开发环境目录命令

$ mkdir centos$ cd centos

2、导入box命令

$ vagrant box add {title} {url}

vagrant box add是添加box的命令,{title}是以后创建虚拟机的别名,{url}是下载到本地box的路径,也可以是服务器端的URL

将box镜像添加到本地仓库,有三种方式

1、使用http绝对地址

vagrant box add centos http://box.vagrant.com/centos.box

2、使用本地文件(从协议来说,和上面一样,相当于file:///协议的地址)

vagrant box add centos ./centos.box

3、使用仓库名称

vagrant box add centos centos/centos7

3、导入box命令

$ vagrant box add centos7 E:/vagrant/box/Vagrant-CentOS-7.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos7' (v0) for provider:box: Unpacking necessary files from: file:///E:/vagrant/box/Vagrant-CentOS-7.boxbox:
==> box: Successfully added box 'centos7' (v0) for 'virtualbox'!

4、初始化命令

$ vagrant init centos7
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.

初始化成功后,vagrant会在当前的初始化目录生成一个Vagrantfile配置文件,我们可以修改它,进行个性化定制。

5、启动命令

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos_default_1549288806840_16331
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...default: Adapter 1: nat
==> default: Forwarding ports...default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...default: SSH address: 127.0.0.1:2222default: SSH username: vagrantdefault: SSH auth method: private keydefault: Warning: Remote connection disconnect. Retrying...default: Warning: Connection reset. Retrying...default:default: Vagrant insecure key detected. Vagrant will automatically replacedefault: this with a newly generated keypair for better security.default:default: Inserting generated public key within guest...default: Removing insecure key from the guest if it's present...default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...default: No guest additions were detected on the base box for this VM! Guestdefault: additions are required for forwarded ports, shared folders, host onlydefault: networking, and more. If SSH fails on this machine, please installdefault: the guest additions and repackage the box to continue.default:default: This is not an error message; everything may continue to work properly,default: in which case you may ignore this message.
==> default: Rsyncing folder: /cygdrive/e/vagrant/centos/ => /vagrant

6、SSH连接安装的虚拟机命令

登录虚拟机的三种方式

1、在开发环境的目录(有Vagrantfile的地方),登录虚拟机

$ vagrant ssh
[vagrant@localhost ~]$

2、使用第三方工具,如secureCRT)或系统ssh命令进行登录,IP为Vagrantfile中指定的hostonly地址,用户名与密码默认都是vagrant

3、在宿主机的命令行,ssh到本地端口的方式登录。观察客户机的22端口映射到宿主机的是多少,一般是2222,用户名与密码默认都是vagrant

$ ssh -p 2222 127.0.0.1

7、打包分发命令

当你配置好开发环境后,退出并关闭虚拟机。在终端里,对虚拟机打包

# vagrant halt         // 在开发环境的目录,关闭centos7# vagrant status       // 确认centos7关机# vagrant package centos7 --output  centos7.box  --vagrantfile Vagrantfile// --output NAME:(可选)设置通过NAME来指定输出的文件名;--vagrantfile FILE:(可选)将Vagrantfile直接封进box中

注:如果网络模式中使用private_network的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:rm -f /etc/udev/rule.d/70-persistent-net.rules

打包完成后会在当前目录生成一个centos7.box的文件,将这个文件分发给其他用户(开发者)。

其他用户只要添加这个 box ,并用其初始化自己的开发目录,就能得到一个一样的开发环境了。

$ vagrant box add centos7 centos7.box       //添加centos7.box,镜像命名为centos7$ vagrant init centos7      // 初始化centos7镜像$ vagrant up

 

这篇关于win10安装配置vagrant的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021096

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri