使用vagrant快速搭建linux实验环境

简介

本文主要介绍如何使用vagrant配合virtualbox快速搭建实验环境。
virtualbox是一个开源跨平台虚拟机管理软件,功能类似收费的vmware
vagrant是一个开源的虚拟机配置编排软件,可以在命令行快速启动管理虚拟机。

相关资源的百度云下载链接
链接:https://pan.baidu.com/s/1nt_b96SEOIIWl2gIrabPpg 密码:6c3d

安装

1.安装virtualbox

官方下载virtualbox对应平台的软件包安装

2.安装vagrant

官方下载vagrant对应平台的软件包安装,由于官方网站在国外,可能下载比较慢。

3.设置virtualbox虚拟机存方目录

# 默认情况下 virtualbox 启动虚拟机会存放在用户的家目录里# windows 下C盘可能过小,需要设置特定目录存储虚拟机VBoxManage setproperty machinefolder D:\virtualbox
VBoxManage list systemproperties | grep machine

搭建实验环境

1.下载导入相关box

# 由于需要从国外拉取box,可能会很慢。推荐使用我存储在百度云的box# 导入boxvagrant box add centos-7.4-base centos-7.4-base.box
vagrant box list

2.启动单机

mkdir single && cd single
cat >Vagrantfile<<EOF# -*- mode: ruby -*-# vi: set ft=ruby :ENV["LC_ALL"] = "en_US.UTF-8"Vagrant.configure("2") do |config|
    config.vm.box = "centos-7.4-base"
    config.vm.hostname = "will"
    config.ssh.insert_key = false

    # 指定CPU和内存大小
    config.vm.provider "virtualbox" do |v|
      v.memory = 1024
      v.cpus = 2
      v.customize ["modifyvm", :id, "--name", "will"]
    end    # 配置网络
    config.vm.network "private_network", ip: "11.11.11.111"
    # config.vm.network "private_network", ip: "192.168.22.10"

    # 配置启动后的操作
    config.vm.provision "shell", inline: <<-SHELL
      hostname
    SHELL
end
EOF# 启动vagrant up

3.启动多主机

mkdir double && cd doublecat >Vagrantfile<<EOF# -*- mode: ruby -*-# vi: set ft=ruby :ENV["LC_ALL"] = "en_US.UTF-8"Vagrant.configure("2") do |config|
    config.vm.define "web" do |web|
        web.vm.provider "virtualbox" do |v|
            v.customize ["modifyvm", :id, "--name", "web", "--memory", "512"]
        end
        web.vm.box = "centos-6.9"
        web.vm.hostname = "web"
        web.vm.network "private_network", ip: "11.11.11.11"
    end
    
    config.vm.define "db" do |db|
        db.vm.provider "virtualbox" do |v|
            v.customize ["modifyvm", :id, "--name", "db", "--memory", "512"]
        end
        db.vm.box = "centos-6.9"
        db.vm.hostname = "db"
        db.vm.network "private_network", ip: "11.11.11.22"
    end
end
EOF# 启动vagrant up

3.启动集群

mkdir cluster && cd cluster
cat >Vagrantfile<<EOF# -*- mode: ruby -*-# vi: set ft=ruby :ENV["LC_ALL"] = "en_US.UTF-8"Vagrant.configure("2") do |config|
    (1..6).each do |i|
      config.vm.define "lab#{i}" do |node|
        node.vm.box = "centos-7.4-docker-17"
        node.ssh.insert_key = false
        node.vm.hostname = "lab#{i}"
        node.vm.network "private_network", ip: "11.11.11.11#{i}"
        node.vm.network "private_network", ip: "11.11.12.11#{i}"
        node.vm.provision "shell",          inline: "echo hello from node #{i}"
        node.vm.provider "virtualbox" do |v|
          v.cpus = 4
          v.customize ["modifyvm", :id, "--name", "lab#{i}", "--memory", "2048"]
        end
      end
    end
end
EOF# 启动vagrant up

4.连接虚拟机

# 一般情况下虚拟机ssh连接用户名为 vagrant# 一般情况下都不支持 密码登录, 可以登录之后自行配置支持密码登录# 连接的sshkey存储在用户家目录下 .vagrant.d 目录下# C:\Users\will\.vagrant.d\insecure_private_key

常用命令

以下命令后面都可以接虚拟机名,只对指定虚拟机作操作

  • 启动虚拟机
    • vagrant up
  • 暂停虚拟机
    • vagrant suspend
  • 关闭虚拟机
    • vagrant halt
  • 删除虚拟机
    • vagrant destroy
  • 存储快照
    • vagrant snapshot save lab1 init
  • 恢复快照
    • vagrant snapshot restore lab1 init

原文地址:http://blog.51cto.com/13919645/2158258

时间: 2024-12-11 15:37:03

使用vagrant快速搭建linux实验环境的相关文章

利用vagrant快速搭建rails开发环境

前言 当我们学习一门新的语言或技术的时候,最麻烦或比较浪费时间的事情就是搭建开发环境.而搭建开发环境与我们将要学习的新的语言或技术,没有太大的联系,因为我们感兴趣的只是新的语言或技术本身,而并非它们的开发环境.如果浪费太多的时间在这些上面,则更是不值得事情.如果能有一套现成的搭建好的开发环境,这样我们就可以直接关注我们所感兴趣的东西了.如在写某方面教程的时候,如果能配有一个现成的开发环境,这样初学者就可以快速的上手,掌握核心的知识,聚焦重点内容. 本文主要介绍如何利用vagrant快速的搭建ra

CentOS7使用DevStack快速搭建OpenStack实验环境

安装环境:centos7系统下安装devstack 一.下载Ubuntu14或者Centos7安装(实体机或者虚拟机都可以),建议选择最小安装镜像即可. 二.安装devstack 文档地址 http://docs.openstack.org/developer/devstack/ 1.切换为root用户登录 #   su - #   cd /home 2.获取devstack 如果没有安装git ,安装git  (  #  yum install git   ) #   git clone ht

02. SpringCloud实战项目-快速搭建Linux环境-运维必备

SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础. PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目 采用流行的技术,如 SpringBoot.MyBatis.Redis. MySql. Mon

Linux下快速搭建php开发环境

php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XAMPP可快速搭建PHP开发环境.下载链接:https://www.apachefriends.org/download.html  进入下载界面选择XAMPP for Linux下载 启动终端输入命令  cd /下载xampp保存的路径.我的保存路径是:/home/coderose/下载.更改安装程

如何利用PC机搭建综合实验环境之Vmware workstation篇

无论学习windows还是linux,还是学习这些系统上的应用,我们都需要一台甚至多台服务器.但一台服务器动辄上万元,做为正在学习的学生或个人根本无力购买.况且一些实验不止需要一台,还需要多台服务器.再加上供电等因素,个人买服务器来做实验真的是不可能的事情.但不通过实验的话又很难将知识串联起来,实践是检验真理的唯一标准.因此,今天我们来讲如何通过一台PC模拟多台服务器.PC,并且模拟交换机.路由器.防火墙.AAA服务器,最后将交换机,路由器.防火墙.服务器连接起来,搭建成一个综合的实验环境,完成

快速搭建Python开发环境

快速搭建Python开发环境·Python入门学习速成系列<1> 当我们在学习一门新的技术或者新的编程语言时,经常感觉无从下手.学习初期往往不知道事先应该准备什么:或者刚开始准备,在安装问题就栽了一个大跟头:甚至我们准备完成后,开始学习是,才发现事先应该准备安装的软件没有到位等.这样或那样的问题就困扰我们学习之初,花费了大量的时间. 本文主要介绍在Windows和Linux主流操作系统上快速部署Python开发环境. 准备Python开发环境 在准备部署Python开发环境时,往往会选择不同的

WAMP Server助你在Windows上快速搭建PHP集成环境

WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分论坛都是PHP的哦.据我所知很多同学都想要试着学习一下PHP,无奈要在Windows下安装搭建好一个PHP环境来学习对于菜鸟同学来说繁琐程度足以让一半以上的人放弃,毕竟 Apache+PHP+MySQL 这3个程序配置起来比较麻烦,对于新手来说,要弄清楚那些配置还真是云里雾里.所以傻瓜式整合型的WA

CentOS 7快速搭建Nodejs开发环境

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如何在CentOS7快速搭建Nodejs开发环境. 工具/原料 CentOS 7 Nodejs 通过NVM安装 1 NVM(Node version manager)顾名思义,就是Node.js的版本管理软件,可以轻松的在Node.js各个版本间切换,项目源码在GitHub: 如果你想长期做 node

基于 Jenkins 快速搭建持续集成环境

持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能.本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境. 持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变