学会使用vagrant

学起来了 学起来了     2022-09-19     310

关键词:

全平台适用 Mac  win  ubuntu  centos
 
 
1.安装 vbox. 只是个承载,不用去启动
2.下载vagrantbox镜像  .box文件  4用到  
3.下载vagrant  win  msi 
 
 
4.导入box
vagrant box add 名  box位置
 
查看是否存在
 vagrant box list
 
5.初始化
vagrant init 名
  
6.5完成后会生成一个vagrantfile配置文件,配置访问地址
去掉注释并修改约29行
config.vm.network "private_network", ip: "192.168.7.7"
 
7.启动虚拟机
vagrant up
 

#####################################################################################################################################################
8.运行ssh,启动并获取ssh链接信息
vagrant ssh

 

9.打包分发
vagrant package
 
10.常用命令
直接DOS运行 vagrant回车查看
 
11.说明
以上如果没问题的话可以使用自己配制的ip访问
如果在vagrant up时提示
 
则 ctrl+c强制停止,然后继续vagrant ssh 这时仍可正常使用 不过连接ssh时则需要使用 给出的登录信息 127.0.0.1:2222  仍可正常使用
 
无失败信息的可通过帐号和密钥登录,失败的只能通过帐号登录
 
默认帐号密码
vagrant  vagrant  或者 root  vagrant
 
12.宿主机访问
编辑配置文件
config.vm.network "forwarded_port", guest: 80, host: 8080
 
 config.vm.network "public_network"
 
去掉上边的两个注释
 
访问地址
127.0.0.1:8080
 

目录同步

虽说如此容易的启动一个虚拟机的确很酷,但不是所有人都喜欢通过终端来编辑文件(Vim党和Emacs党勿喷),所以Vagrant提供了一个目录同步的功能。默认情况下Vagrant会把你的项目目录(存储Vagrantfile的那个)与虚拟机中的/vagrant进行同步(这就是为什么你不要执行rm -rf /的原因,否则你会把项目目录删掉)。我们可以登录到虚拟机上验证一下。

	$ vagrant up
	...
	$ vagrant ssh
	...
	vagrant@precise32:~$ ls /vagrant
	Vagrantfile

如果你不确信,可以创建一个文件看看:

	vagrant@precise32:~$ touch /vagrant/foo
	vagrant@precise32:~$ exit
	$ ls
	foo Vagrantfile

怎么样?没骗你吧。通过目录同步功能,你还可以继续使用最爱的编辑器来修改虚拟机中的文件。

配置

假设我们的业务需要安装Apache,传统的做法是在虚拟机上手动安装并配置,如果这样那么使用Vagrant的人都需要重复一遍。幸好Vagrant提供了自动配置(automated provisioning)的功能。通过这个特性,Vagrant会在你执行vagrant up的时候自动安装所需的软件。

在你的项目目录(即包含Vagrantfile的目录)下创建Bash脚本bootstrap.sh,内容如下:

	#!/usr/bin/env bash

	apt-get update
	apt-get install -y apache2
	rm -rf /var/www
	ln -fs /vagrant /var/www

接下来,我们来配置让Vagrant在启动虚拟机的时候自动执行以上脚本,在Vagrantfile中添加如下内容:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
  config.vm.provision :shell, path: "bootstrap.sh"
end

provision这一行告诉Vagrant使用shell provisioner来配置虚拟机,要执行的脚本是bootstrap.sh。

接下来执行vagrant up来启动虚拟机,之后你可以登录到虚拟机来验证Apache时候已经安装成功:

	$ vagrant ssh
	...
	vagrant@precise32:~$ wget -qO- 127.0.0.1

网络

总是在终端里边访问Apache不是什么好的主意,所以这个部分我们会对Vagrant的网络进行配置,让它可以通过宿主机器(Host machine)来访问。

我们用端口映射来实现对Apache服务的访问,编辑Vagrantfile文件如下:

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

forwarded_port这一行把宿主机器的4567端口映射到了客户机器(Guest machine)的80端口。然后通过vagrant reload重启虚拟机,重启完成之后你用浏览器打开 http://127.0.0.1:4567就可以访问到WEB页面了。

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 查看详情

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使用简介

前言Vagrant是什么??????是一款用来构建虚拟开发环境的工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统。Vagrant能做什么?统一开发环境。一次配置打包,统一分发给团队成员,统一团队开发环境,解决诸如“编码问题”... 查看详情

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和ansible

...两个工具配合的很好.这个指南会叙述如何同时配合使用Vagrant和Ansible.如果你对Vagrant还不了解,你应该看看这个文档 thedocumentation.假设你已经安装了Ansible,在Git上检测,运行的也很好, 查看详情

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

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

使用 Vagrant 访问日志文件夹

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

windows下vagrant的安装使用

vagrant是简便虚拟机操作的一个软件,而使用虚拟机是为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时出现各种问题,vagrant通过共享文件,可以实现... 查看详情

windows安装使用vagrant(代码片段)

下载:a.virtualbox:https://www.virtualbox.org/wiki/Downloadsb.vagrant:https://www.vagrantup.com/downloads.htmlc.centos7.box:http://cloud.centos.org/centos/7/vagrant/x86_64/images/安装:a.安装virtualboxb.安装vag 查看详情

vagrant里面不能运行docker,怎么回事

 以下内容均出自Vagrant作者(MitchellHashimoto)与Docker作者(SolomonHykes)在stackoverflow上面一个问题讨论。在这个问题中,双方阐述了vagrant和docker的特点和使用范围,对于深入理解vagrant和docker很有意义,因此笔者翻译出来,以供大家讨... 查看详情

vagrant+git的使用

...个人用的话没必要上Samba(除非共享给别人),下面使用vagrant+VBox+Git打造一个Django开发测试环境使用软件:Vagrant1.8.6vbox5.1.8git(无所谓版本,当做ssh客户端用了low~~)相关下载地址链接:https://pan.baidu.c 查看详情

如何使用密码保护 vagrant 虚拟盒子?

】如何使用密码保护vagrant虚拟盒子?【英文标题】:Howtoprotectvagrantvirtualboxwithpassword?【发布时间】:2020-08-2822:26:11【问题描述】:我正在使用vagrant向我的客户提供一些API(使用高计算能力)所以我的一些客户希望在他们自己的... 查看详情

使用 vagrant 在桌面环境下运行虚拟机

】使用vagrant在桌面环境下运行虚拟机【英文标题】:Usingvagranttorunvirtualmachineswithdesktopenvironment【发布时间】:2013-09-2313:26:45【问题描述】:我公司的开发环境是基于虚拟机的,运行在VirtualBox上。我们想更进一步,使用Vagrant的功... 查看详情

使用 Vagrant 配置 Windows VM 无法执行远程 WinRM 命令

】使用Vagrant配置WindowsVM无法执行远程WinRM命令【英文标题】:ProvisioningWindowsVMwithVagrantcannotexecuteremoteWinRMcommands【发布时间】:2021-11-2714:37:12【问题描述】:我正在尝试在现有的Vagrant机器上安装一些基本工具,但我的shell命令失... 查看详情