Linux-Vagrant实战应用01

Vagrant实战

1.Vagrant是什么?

  • Vagrant是一个虚拟机管理软件,可以使用命令直接从云端下载虚拟机的镜像然后进行创建和管理,Vagarnt集成了主流的虚拟机管理工具。vmvare 和 virtualbox,默认使用virtualbox

  • Vagrant的精髓在一个Vagrantfile里面,和docker的Dockfile功能上一样。我们只需要把需要安装部署的步骤写在Vagrantfile里面,便可以轻松部署。
    ps:利用代码进行来进行想要的操作

  • Vagrant还支持把当前系统做成一个.box后缀命名的镜像,类似docker的image,可轻松实现环境的移植。

  • Vagrant可以把配置好的环境打包成一个box,分享给其他人直接使用。
    请添加图片描述

2.安装Virtualbox

VirtualBox是一个免费开源的虚拟机,相对VMware来说更加小巧。

ps:由于Vagrant没有图形界面,如果想对虚拟机来进行操作的话
本次我们选择Virtualbox来进行操作

下载地址

https://www.virtualbox.org/wiki/Downloads

1.安装请加图片描述

2.配置请添加图片描述
ps:这个配置中的储存路径一定要有充足的空间。用来作为虚拟机的“硬盘”,储存日志等

3.安装Vagrant

1.下载

https://www.vagrantup.com/downloads

2.配置

  • ps:这个环境地址是储存vagrant中的box文件

  • 通过vagrant box add 这个命令来将本地box文件添加到vagrant中

  • vagrant的box默认下载用户的宿主目录\vagrant_box

请添加图片描述

4.从云端下载box

http://www.vagrantbox.es/

5.Vagrantfile

1.初始化配置文件
创建目录

E:\java\virtual\s13

ps:创个目录(一个对虚拟机操作的目录)
来进行对box文件和其他文件进行操作为后续虚拟机创建进行铺路
2.在目录中执行

vagrant init centos
#产生配置文件

3.修改配置文件如下
(1)Vagrantfile文件参考如下


# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  (1..3).each do |i|
    config.vm.define vm_name = "s#{i}"  do |config|
        config.vm.provider "virtualbox" do |v|
            v.customize ["modifyvm", :id, "--name", vm_name]
	    v.customize ["modifyvm", :id, "--memory", "8192"]
            v.customize ["modifyvm", :id, "--cpus", "2"]
        end
        config.vm.box = "centos_v1"
        config.vm.hostname =vm_name
        config.ssh.username = "root"
        config.ssh.password = "vagrant"
							#		config.ssh.shell = "powershell"
							#config.ssh.shell = "bash -l"
        config.vm.network :private_network, ip: "192.168.56.7#{i}" 	config.vm.provision :shell, :path => "bootstrap.sh"
    end   end end

请添加图片描述
(2)bootstrap.sh

#!/usr/bin/env bash

# The output of all these installation steps is noisy. With this utility
# the progress report is nice and concise.

echo "Update /etc/hosts"
cat > /etc/hosts <<EOF
127.0.0.1       localhost

192.168.56.71 s1
192.168.56.72 s2
192.168.56.73 s2
EOF

echo "Disable iptables"
setenforce 0 >/dev/null 2>&1 && iptables -F

### Set env ###
echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

请添加图片描述

6.添加box

ps:这里以我下载的box为例!!!
我下载的是这个centos_v1.box

此处把本地box或者从云端下载下来的box添加到vagrant中


F:\java\virtual\s13>vagrant box add centos_v1 ./centos_v1.box

==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos_v1' (v0) for provider:
    box: Unpacking necessary files from: file://F:/java/virtual/s13/vagrant-centos-7.2.box
    box:
==> box: Successfully added box 'centos_v1' (v0) for 'virtualbox'!

1. 列表本地box

F:\java\virtual\s13>vagrant box list
centos_v1     (virtualbox, 0)

2.删除box

F:\java\virtual\s13>vagrant box remove centos-travel
Removing box 'centos-travel' (v0) with provider 'virtualbox'..

7.安装虚拟机

1.安装

#必须在vagrantfile所在的目录安装
vagrant up

成功案例

请添加图片描述

8.连接虚拟机请添加图片描述

请添加图片描述

成功展示请添加图片描述

请添加图片描述
请添加图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值