良许Linux教程网 干货合集 Linux开发环境搭建工具vagrant安装教程

Linux开发环境搭建工具vagrant安装教程

vagrant是一个用于创建和部署虚拟化开发环境的工具,本篇文章将为大家分享一下Vagrant 搭建Linux开发环境,有需要的小伙伴可以参考一下。

Linux开发环境搭建工具vagrant安装教程

Vagrant简介:

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

准备工作


要使用Vagrant这个工具,首先需要安装一个虚拟机软件,常见的虚拟机软件包括了virtualbox和VMware,但后者是要收费的,不建议使用,优选选择virtualbox。 关于virtulbox和Vagrant的安装工具,这里就不具体介绍,注意在安装完之后,为了方便使用,需要将vagrant添加到“Path”环境变量中。

使用Vagrant


添加box

首先,安装Linux系统必不可少的是它的系统文件,而这个文件最好从网上下载到本地,可以从box镜像源进行选择下载。由于某种原因,最好使用科学上网的方法,不然会下载不动的。 在E盘下(根据自己情况)新建”vagrant”文件夹,在其目录下新建”box”文件夹,并将下载好的box文件”centos.box”放在”box”文件夹。

 cd vagrant    //进到vagrant文件夹
 vagrant box add --name centos box\centos.box
 //--name指定box的系统名称,在Vagrant的配置文件中将会使用到
 123

而使用命令

 vagrant box list
 1

可以查看已经添加的box,如下图 这里写图片描述

配置Vagrantfile

在系统启动之前,需要进行配置,使用命令

 vagrant init centos
 1

对”centos”进行初始,在”vagrant”目录下会生成Vagrantfile文件,文件的内容如下

 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 
 # All Vagrant configuration is done below. The "2" in Vagrant.configure
 # configures the configuration version (we support older styles for
 # backwards compatibility). Please don't change it unless you know what
 # you're doing.
 Vagrant.configure("2") do |config|
   # The most common configuration options are documented and commented below.
   # For a complete reference, please see the online documentation at
   # https://docs.vagrantup.com.
 
   # Every Vagrant development environment requires a box. You can search for
   # boxes at https://atlas.hashicorp.com/search.
   config.vm.box = "centos"
 
   # Disable automatic box update checking. If you disable this, then
   # boxes will only be checked for updates when the user runs
   # `vagrant box outdated`. This is not recommended.
   # config.vm.box_check_update = false
 
   # Create a forwarded port mapping which allows access to a specific port
   # within the machine from a port on the host machine. In the example below,
   # accessing "localhost:8080" will access port 80 on the guest machine.
   # config.vm.network "forwarded_port", guest: 80, host: 8080
 
   # Create a private network, which allows host-only access to the machine
   # using a specific IP.
   # config.vm.network "private_network", ip: "192.168.33.10"
 
   # Create a public network, which generally matched to bridged network.
   # Bridged networks make the machine appear as another physical device on
   # your network.
   # config.vm.network "public_network"
 
   # Share an additional folder to the guest VM. The first argument is
   # the path on the host to the actual folder. The second argument is
   # the path on the guest to mount the folder. And the optional third
   # argument is a set of non-required options.
   # config.vm.synced_folder "../data", "/vagrant_data"
 
   # Provider-specific configuration so you can fine-tune various
   # backing providers for Vagrant. These expose provider-specific options.
   # Example for VirtualBox:
   #
   # config.vm.provider "virtualbox" do |vb|
   #   # Display the VirtualBox GUI when booting the machine
   #   vb.gui = true
   #
   #   # Customize the amount of memory on the VM:
   #   vb.memory = "1024"
   # end
   #
   # View the documentation for the provider you are using for more
   # information on available options.
 
   # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
   # such as FTP and Heroku are also available. See the documentation at
   # https://docs.vagrantup.com/v2/push/atlas.html for more information.
   # config.push.define "atlas" do |push|
   #   push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
   # end
 
   # Enable provisioning with a shell script. Additional provisioners such as
   # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
   # documentation for more information about their specific syntax and use.
   # config.vm.provision "shell", inline: 

可以看到对于常用的配置,这个文件都有列出,并进行了解释。这里对某些配置做简单介绍。

 Vagrant.configure("2") do |config|     # 配置开始
 config.vm.box = "centos"               # 对系统'centos'的配置
 
 # 网络设置
 # config.vm.network "forwarded_port", guest: 80, host: 8080
 # 这里是进行端口转发,host: 8080 --> guest: 80
 config.vm.network "public_network"
 # 配置成公共网络,就像实际存在的物理电脑一致,IP地址将有网络中的路由器分配
 
 # 同步共享文件夹
 config.vm.synced_folder "./data", "/home/vagrant"
 # 这里配置两个文件夹,前一个是本地文件夹,后一个是centos系统下的文件夹
 # 因此需要在"vagrant"目录下新建"data"文件夹
 
 # 显示和内存设置
 config.vm.provider "virtualbox" do |vb| # 这里指定虚拟机软件virtualbox
     vb.gui = false                      # 是否显示gui
     vb.memory = "1024"                  # 虚拟机内存设置
 end
 end                                     # 配置结束
 1234567891011121314151617181920

以上就是单个虚拟机的配置,使用命令

 vagrant up
 1

启动该虚拟机,如图 这里写图片描述

同样,Vagrantfile可以配置多虚拟机启动,其大致机构如下

 Vagrant.configure("2") do |config|
 # 虚拟机centos
 config.vm.define :centos do |centos|
     centos.vm.box="centos"
     centos.vm.network "public_network"
 end
 # 虚拟机ubuntu
 config.vm.define :ubuntu do |ubuntu|
     ubuntu.vm.box="ubuntu"
 end
 end
 1234567891011

这样的话在启动时,可以指定虚拟机启动,比如

 vagrant up centos
 1

可以只启动centos系统,不指定的话,会启动全部的虚拟机。 更多的配置选项,可以参考中文文档进行更多的配置学习。

登录系统

在成功系统之后,输入命令

 vagrant ssh
 1

后,输入密码,即可登录成功,如图 这里写图片描述

默认的系统用户名和密码

 user: vagrant    
 passwd: vagrant    //管理员密码也是这个
 12

使用命令

 ip addr
 1

获取虚拟机的IP地址,如图 这里写图片描述

可以看到虚拟在局域网中的地址为”192.168.199.215”,使用该地址,我们也可以从局域网中的其他电脑进行登录,如图

这里写图片描述

关于文件共享就更简单了,之前我们配置了

 config.vm.synced_folder "./data", "/home/vagrant"
 1

在登录之后,进行一下测试

 cd ~
 pwd
 touch guset.txt
 123

如图

这里写图片描述

在本地目录下,可以看到 这里写图片描述

因此,我们可以在Windows系统下选用自己喜欢的编辑器对文件进行编辑,而且能够快速地部署到Linux系统下。

系统打包


如果想要分享你配置好了的Linux系统,这时需要将该系统进行打包,打包前需要将虚拟机关闭,使用命令

 vagrant halt
 1

将虚拟机关机。使用命令

 vagrant package
 1

对系统进行打包,如图 这里写图片描述

在”vagrant”目录下多了一个.box文件,如图 这里写图片描述

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部