热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Vagrant快速创建linux虚拟机

1安装linux虚拟机下载&安装VirtualBoxhttps:www.virtualbox.org下载windows版安装VirtualBox前要开启CPU虚拟化,先查看电脑是

1 安装 linux虚拟机

下载&安装 VirtualBox https://www.virtualbox.org/
在这里插入图片描述
下载windows版
在这里插入图片描述
安装VirtualBox前要开启 CPU 虚拟化,先查看电脑是否开启虚拟化

CPU 查看(Ctrl+Alt+Del–》任务管理器–》性能)
在这里插入图片描述
如果未启用,需要开启虚拟化
在这里插入图片描述
在这里插入图片描述

2.下载& 安装 Vagrant

在安装VirtualBox的前提下,Vagrant 能快速的创建虚拟机

  • https://app.vagrantup.com/boxes/search Vagrant 官方镜像仓库

  • https://www.vagrantup.com/downloads.html Vagrant下载
    下载windows版本
    在这里插入图片描述

在这里插入图片描述
Vagrant 安装完成,需要重启系统
在这里插入图片描述
下载vagrant安装,安装英文路径,安装后重启系统。检查Vagrant 是否安装成功,cmd中输入vagrant有版本代表成功了。
在这里插入图片描述

  • 打开window cmd窗口,运行Vagrant init centos/7 ,(注意这个命令在哪个目录下执行的,他的Vagrantfile就生成在哪里)即可初始化一个centos系统
    在这里插入图片描述

命令解释:Vagrant init 加官网仓库的名字(Vagrant 初始化一个镜像仓库,仓库里镜像名叫啥,init后面就写啥)
在这里插入图片描述

  • 运行vagrant up即可启动虚拟机。系统root用户的密码是vagrant
    在这里插入图片描述

启动后出现default folder:/cygdrive/c/User/… =>/vagrant。然后ctrl+c退出

前面的页面中有ssh账号信息。vagrant ssh 就会连上虚拟机。可以使用exit退出

下次使用也可以直接vagrant up直接启动,但要确保当前目录在C:/用户/ 文件夹下,他下面有一个Vagrantfile,不过我们也可以配置环境变量。

启动后再次vagrant ssh连上即可

不过他使用的网络方式是网络地址转换NAT(端口转发),如果其他主机要访问虚拟机,必须由windows端口如3333断发给虚拟机端口如3306。这样每在linux里安一个软件都要进行端口映射,不方便,(也可以在virualBox里挨个设置)。我们想要给虚拟机一个固定的ip地址,windows和虚拟机可以互相ping通。

visualBox的网络模式可以参考:https://mp.weixin.qq.com/s?__biz=MzI5MDg4ODEzOA==&mid=2247488277&idx=1&sn=012c33bec2984a61850b30b1bb270812&scene=21#wechat_redirect

  • 方式1是在虚拟机中配置静态ip。

  • 方式2:更改Vagrantfile更改虚拟机ip,修改其中的config.vm.network “private_network”,ip:“192.168.56.10”,这个ip需要在windows的ipconfig中查到vitualbox的虚拟网卡ip,然后更改下最后一个数字就行(不能是1,1是我们的主机)。配置完后vagrant reload重启虚拟机。在虚拟机中ip addr就可以查看到地址了。互相ping也能ping通。

  • 关掉防火墙,VirualBox中第一个网卡设置NAT,第二个网卡设置仅主机

  • 如果ping不了baidu

  • cd /etc/sysconfig/network-scripts

  • ls 一般有ifcfg-eth0 1

  • ip addr 看哪个网格是192.168.56网段,然后vim他

  • vim ifcfg-eth1 加入

GATEWAY=192.168.56.1
DNS1=114.114.114.114
DNS2=8.8.8.8

service network restart
默认只允许ssh登录方式,为了后来操作方便,文件上传等,我们可以配置允许账号密码登录

vim /etc/ssh/sshd_config
修改
PasswordAuthentication yes
重启
service sshd restart
账号root
密码vagrant

配置源

#备份原yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#使用新yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
#生成缓存
yum makecache

  • 远程连接虚拟机并退出
    在这里插入图片描述

vagrant halt关闭虚拟机
在这里插入图片描述

  • vagrant其他常用命令
    • vagrant ssh 自动使用 vagrant 用户连接虚拟机

      • vagrant upload source [destination] [name|id] 上传文件
    • https://www.vagrantup.com/docs/cli/init.html Vagrant 命令行

  • 默认虚拟机的ip 地址不是固定ip 开发不方便

Vagrant 和 VirtualBox 版本有对应问题 都安装最新版本 则安装成功

  • 修改 Vagrantfile

config.vm.network "private_network", ip: "192.168.56.10"

这里 ip 需要在 物理机下使用 ipconfig 命令找到
在这里插入图片描述


推荐阅读
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文详细介绍了如何在Windows操作系统中配置和使用Lex(Flex)与Yacc(Bison),包括软件的下载、安装以及通过示例验证其正确性的步骤。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文介绍了如何解决 ChinaASP.Upload 错误 '80040002',即必须添加版权信息的问题,并提供了详细的步骤和注意事项。 ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
  • 如何在Win10系统下通过VMware 14 Pro安装CentOS 7
    本文详细介绍了在Windows 10操作系统中使用VMware Workstation 14 Pro搭建CentOS 7虚拟环境的步骤,包括所需工具、安装过程及系统配置等。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 根据官方定义,RxJava是一种用于异步编程和可观察数据流的API。其核心特性在于流式处理能力和丰富的操作符支持。 ... [详细]
  • 高效的JavaScript异步资源加载解决方案
    本文探讨了如何通过异步加载技术处理网页中大型第三方插件的加载问题,避免将大文件打包进主JS文件中导致的加载时间过长,介绍了实现异步加载的具体方法及其优化。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 2019-2020学年 20174325 叶竞蔚 《网络对抗技术》实验六:Metasploit基础应用
    本实验旨在掌握Metasploit框架的基本应用方法,重点学习三种常见的攻击方式及其实施思路。实验内容包括一次主动攻击(如MS08-067)、一次针对浏览器的攻击(如MS11-050)以及一次针对客户端的攻击(如Adobe漏洞利用)。此外,还包括成功应用一个辅助模块。 ... [详细]
author-avatar
大帅哥鹏飞lyll
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有