美文网首页
vagrant入门

vagrant入门

作者: Nick_4438 | 来源:发表于2018-12-26 07:36 被阅读0次

vagrant是什么

vagrant 是用来建立和管理虚拟机运行环境的一个工具,其优点如下:

  • 容易使用
  • 自动化
  • 搭建方便

对于开发人员来说,能够快速搭建出一套类似于生产环境的执行环境。

安装

快速使用

mkdir os 
cd os 
# vagrant init hashicorp/precise64
## 初始化CNETOS7虚拟机  
vagrant init centos/7
## 启动虚拟机
vagrant up
## ssh 登录虚拟机
vagrant ssh 
## 重启虚拟机
vagrant reload

执行vagrant init之后,在执行目录下会生成一个Vagrantfile文件,该文件决定了虚拟机的具体配置,后续如无特殊说明,都是指该文件的配置。

共享文件

主机的Vagrantfile文件所在目录和虚拟机的 /vagrant/文件目录共享一个文件夹,如果需要在主机和虚拟机之间传送文件,可以使用该文件夹。

网络

端口转发

端口转发可以讲主机某个端口的数据,转发到虚拟机的某个端口上,使用配置Vagrantfile文件如下:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 4567
end

私有网络

私有网络可以使我们创建的虚拟机,其可被主机访问当时不能被外网访问。

dhcp

dhcp 私有网络会将为虚拟机自动分配一个预留的ip地址。

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.network "private_network", type: "dhcp"
end

静态IP

静态ip将会为虚拟机分配一个静态的ip地址,使用方法如下:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.network "private_network", ip: "192.168.50.4"
end

我们也可以定义静态ip为ipv6.(DHCP 暂时不支持ipv6).用法如下:

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "fde4:8dba:82e1::c4"
end

我们也可以设置掩码长度(默认为64);

Vagrant.configure("2") do |config|
  config.vm.network "private_network",
    ip: "fde4:8dba:82e1::c4",
    netmask: "96"
end

多虚拟机管理

多个虚拟机管理,只需要按如下代码配置Vagrantfile即可。

Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: "echo Hello"

  config.vm.define "m1" do |m1|
    m1.vm.box = "centos/7"
    m1.vm.box_version = "1811.02"
    m1.vm.network "private_network", ip: "192.168.50.4"
    m1.vm.provider "virtualbox" do |v|
      v.memory = 2048
      v.cpus = 2
    end
  end

  config.vm.define "m2" do |m2|
    m2.vm.box = "centos/7"
    m2.vm.box_version = "1811.02"
    m2.vm.network "private_network", ip: "192.168.50.5"
    m2.vm.provider "virtualbox" do |v|
      v.memory = 2048
      v.cpus = 2
    end
  end
end

此时需要注意控制节点的时候需要加上节点名字,如vagrant ssh m1

制作自己的box

  • 登录官网,给自己申请一个账户
  • 在该网站上创建一个vagrant box
  • 本机使用vagrant login登录vagrant 官网;
  • 打开virtual box查看虚拟机全名,这里是centos_m1_1547349402829_39867
  • 打包虚拟机为box vagrant package --base centos_m1_1547349402829_39867 --output busybox.box
  • 上传打包好的box到官网,完成box发布

相关文章

  • vagrant入门

    [Vagrant入门一(转)]阅读目录VirtualBox安装Vagrant安装Vagrant配置links 原文...

  • 入门

    入门 vagrant入门指南将引导你完成你的第一个Vagrant项目,并展示vagrant提供的主要功能的基础知识...

  • vagrant 入门

    0.说明 本门所有的操作都是基于mac。windows可做相应调整,大体流程是一样的。 1.什么是vagrant ...

  • vagrant入门

    vagrant是什么 vagrant 是用来建立和管理虚拟机运行环境的一个工具,其优点如下: 容易使用 自动化 搭...

  • Vagrant命令

    vagrant help vagrant help vagrant [command] -h vagrant bo...

  • vagrant入门之VagrantFile

    前言 VagrantFile可以理解为使用ruby语法编写的配置文件里面配置同样也是多而繁琐的,我只写点我们常用的...

  • 2018-04-30

    查看 Linux 发行版名称和版本号的 8 种方法Vagrant 入门指南 Writing an OS in Ru...

  • 用git在homestead下建私仓

    vagrant 进入 homestead 账号:vagrant 密码:vagrant 1.在vagrant账号下退...

  • vagrant

    Vagrant常用命令 Vagrant Cmd: vagrant box add 添加box的操作 vagrant...

  • homestead root账号密码和公钥链接

    vagrant账号密码: vagrant / vagrant root账号登录 vagrant登陆后,切换到roo...

网友评论

      本文标题:vagrant入门

      本文链接:https://www.haomeiwen.com/subject/kwsclqtx.html