vagrant使用简介

成九云笔记 成九云笔记     2022-08-09     603

关键词:

前言

  • Vagrant是什么?

?????是一款用来构建虚拟开发环境的工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统。

  • Vagrant能做什么?

    1. 统一开发环境。一次配置打包,统一分发给团队成员,统一团队开发环境,解决诸如“编码问题”,“缺少模块”,“配置文件不同”带来的问题;
    2. 避免重复搭建开发环境。新员工加入,不用浪费时间搭建开发环境,快速加入开发,减少时间成本的浪费;

    3. 多个相互隔离开发环境。可以在不用box里跑不同的语言,或者编译安装同一语言不同版本,搭建多个相互隔离的开发环境,卸载清除时也很快捷轻松。

  • 安装 和 配置?

 

1. Vagrant常用命令

    官方文档:https://www.vagrantup.com/docs/

1.1. 添加box

#提前下载好的box文件,~/box/precise64.box,我们给这个box命名为ubuntu12.04

vagrant box add ubuntu12.04 ~/box/precise64.box

#box文件也可以是远程地址 base 为默认名称

#vagrant box add base http://files.vagrantup.com/lucid64.box

1.2. 初始化

#打开目录

#cd ~/vagrant/work

#初始化

vagrant init

#如果你添加的box名称不是base,那么需要在初始化的时候指定名称,例如

vagrant init ubuntu12.04

1.3. 启动虚拟机

vagrant up

1.4. ssh到虚拟机

vagrant ssh

1.5. 重启虚拟机(重新载入配置文件)

vagrant reload

1.6. 打包分发

vagrant package

1.7. 更多命令查看帮助

vagrant -h

 

2. 主要配置

? 开发目录下有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。
? 打开看一下,注释很全,所以不用担心不会配置了,下面主要备忘几个常用配置:

2.1. box设置

config.vm.box = "ubuntu12.04"

2.2. hostname设置

config.vm.hostname = "for_work"

2.3. 虚拟机网络设置

#config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "public_network"

2.4. 同步目录

config.vm.synced_folder "../data", "/vagrant_data"

2.5. 端口转发

config.vm.network "forwarded_port", guest: 80, host: 8080

2.6. 内存和cpu核心

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"
vb.cpus = 2
vb.name = "my_vm"
end

 

3. 注意事项

??使用 Apache/Nginx 时会出现诸如图片修改后但页面刷新仍然是旧文件的情况,是由于静态文件缓存造成的。需要对虚拟机里的 Apache/Nginx 配置文件进行修改:

# Apache 配置添加:
EnableSendfile off
# Nginx 配置添加:
sendfile off;

 

3.1. Vagrant内的站点访问速度慢?

How to make Vagrant performance not suck ?
Vagrant NFS configration

  • 使用NFS !important
  • 使用CPU多核心,加点内存
  • 打包保存自己的BOX,备用
  • 域名解析问题?

具体配置操作,参考原文 和 vagrant文档。

  • nfs权限问题

  • config.vm.synced_folder ., /vagrant, :nfs =>{
      :linux__nfs_options
    => ["no_root_squash"],
    :map_uid
    => 0,
    :map_gid
    => 0
    }
  • 域名解析慢的问题

    Vagrant: Slow internet connection in guest

  • config.vm.provider :virtualbox do |vb|
    #vb.gui = true
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    vb.customize [
    "modifyvm", :id, "--natdnsproxy1", "on"]
    end

3.2. 挂载失败的问题?

报错:

Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was:

尝试:

//sudo apt-get install virtualbox-guest-dkms
sudo apt-get install virtualbox-guest-utils

报错:

default: stdin: is not a tty

vi /root/.profile

#把 mesg n 替换成 tty -s && mesg n

3.3. redis 文件权限问题

报错:

redis Can‘t open the log file
redis 无法加载.rdb
redis 无法载入.rdb

解决办法:

把 redis:redis 用户组设置更改为 vagrant:vagrant.

Permissions error trying to dump Redis to a Vagrant shared folder

 

转自:http://rmingwang.com/vagrant-commands-and-config.html

❤️《vagrant官方中文文档》❤️①简介及安装(代码片段)

...算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档一、简介Vagrant文档二、安装1、安装Vagrant运行多个虚拟机管理程序Linux,VirtualBox,andKVMWindows,VirtualBox,andHyper-V2、版本向后兼容性1.0.x版本1 查看详情

❤️《vagrant官方中文文档》❤️①简介及安装(代码片段)

...算自用,现分享给大家,欢迎👏🏻纠错~Vagrant中文文档一、简介Vagrant文档二、安装1、安装Vagrant运行多个虚拟机管理程序Linux,VirtualBox,andKVMWindows,VirtualBox,andHyper-V2、版本向后兼容性1.0.x版本1 查看详情

windows上使用vagrant打造laravelhomestead可协同跨平台开发环境

...ad是一个打包好各种Laravel开发所需要的工具及环境的 Vagrant  查看详情

1vagrant初识

1.简介vagrant是一个命令行虚拟机管理工具,需借助virtualbox、vmware、hyper-v等虚拟机工具,可以安装在centos、macorwindows环境下,利用它可以快速部署虚拟化的测试环境2.安装virtualboxhttp://download.virtualbox.org/virtualbox/5.1.4/VirtualBox-5.1.4-11... 查看详情

使用vagrant在命令行快速创建虚拟机

一、Vgrant的安装Vagrant是一个跨平台的虚拟机管理工具,我们以Deepin20.2.3为例,安装和使用Vagrant。我们在这里所说的Vagrant包括Vagrant工具本身和虚拟引擎工具VirtualBox。1.安装Vagrant安装vagrant时,使用的VirtualBox版本必须要得到对应Va... 查看详情

mac下安装vagrant虚拟环境(代码片段)

为了方便测试,我在mac电脑中安装了两个vagrant虚拟环境。一个是centos7,里面是oneinstack,ip:192.168.33.10一个是用于Laravel开发的Homestead。ip:192.168.10.10另外又安装了一个windows10。Vagrant简介Vagrant是一个基于Ruby的工具,用于创建和部署虚... 查看详情

vagrant使用小结

vagrant使用小结最近公司用了vagrant的虚拟镜像服务,感觉挺不错的.在此仅记录使用方法.优点:我们可以通过Vagrant封装一个Linux的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却... 查看详情

使用vagrant创建虚拟机

关于vagrant,维基百科给出了定义:“Vagrant isan open-sourcesoftware productforbuildingandmaintaining portable virtual developmentenvironments.”,看到了吧,是一个搭建虚拟开发环境的开源软件。下面就来看看vagrant如何搭建的 查看详情

vagrant之使用

1.安装   安装VirtualBox    安装Vagrant2.BOX 下载 http://www.vagrantbox.es/  https://atlas.hashicorp.com/ubuntu/boxes/xenial643.2 两种方式BOX安装  在线    vagrant 查看详情

3vagrant的3种网络连接方式

1.简介vagrant提供了3种网络连接方式,分别是forwardedports,host-onlynetworking和bridgednetworking2.forwardedportsconfig.vm.network "forwarded_port", guest: 80, host: 80   //将vagra 查看详情

vagrant简单使用

使用vagrant,需要安装virtualbox和vagrant。具体怎么安装这里就不介绍。 创建一个虚拟机找到一个初始boxvagrant创建虚拟机需要一个box镜像,box镜像可以在https://app.vagrantup.com/boxes/search中查询。例如我们找到了一个ubuntu16.04的镜像... 查看详情

vagrant使用

##安装virtualbox:```bashhttps://www.virtualbox.org/```## 下载vagrant镜像:```bash#### 查找并下载官方的box镜像:https://app.vagrantup.com/boxes/search#### 还有这个网址里面也有很多:http://www.vagrantbox.es/####我用了这个镜像 查看详情

如何在代理环境中使用 vagrant?

】如何在代理环境中使用vagrant?【英文标题】:Howtousevagrantinaproxyenvironment?【发布时间】:2013-11-2106:17:02【问题描述】:我公司的网络正在使用代理。所以当我使用vagrantup时,它显示了一个401权限错误。如何进行一些设置以使用... 查看详情

vagrant 不会使用 rbenv ruby​​ 版本

】vagrant不会使用rbenvruby​​版本【英文标题】:vagrantwillnotuserbenvrubyversion【发布时间】:2013-03-1307:04:07【问题描述】:我正在使用Vagrant盒子:https://dl.dropbox.com/u/14292474/vagrantboxes/precise64-ruby-1.9.3-p194.box它在rbenv下安装了ruby​​1.9... 查看详情

☀️福利向:⚡️万字图文⚡️带你vagrant从入门到超神!❤️(代码片段)

Vagrant从入门到超神🌲前言🌲🌻Vagrant简介🌻❤️入门玩法:Vagrant安装❤️⚡️初阶玩法:Vagrant常用命令⚡️1️⃣Vagrant基础命令2️⃣VagrantBox管理3️⃣Vagrant虚拟机系统命令4️⃣Vagrant插件管理🌀进... 查看详情

学会使用vagrant

全平台适用Mac win ubuntu centos  1.安装vbox.只是个承载,不用去启动2.下载vagrantbox镜像 .box文件 4用到 http://www.vagrantbox.es/3.下载vagrant win msi  https://www.vagran 查看详情

vagrant使用国内镜像安装插件和box镜像(代码片段)

dui前言Vagrant是非常优秀的本地虚拟化管理工具。无奈国内访问速度实在感人。本文分享一些如何使用国内镜像加速的经验,让Vagrant的使用更加爽快。插件镜像Vagrant的插件主要托管在RubyGems仓库,在国内几乎无法访问。万... 查看详情

使用 Vagrant 访问日志文件夹

】使用Vagrant访问日志文件夹【英文标题】:AccesstologfolderwithVagrant【发布时间】:2014-10-1009:56:20【问题描述】:我有一个vagrant文件,它用apache安装了一个盒子。我想使用同步文件夹机制(而不是vagrantssh!)直接在我的主机中访... 查看详情