学会使用 vagrant

全平台适用 Mac  win  ubuntu  centos

1.安装 vbox. 只是个承载,不用去启动

2.下载vagrantbox镜像  .box文件  4用到

http://www.vagrantbox.es/

3.下载vagrant  win  msi

https://www.vagrantup.com/downloads.html

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
	...
	[email protected]:~$ ls /vagrant
	Vagrantfile

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

	[email protected]:~$ touch /vagrant/foo
	va[email protected]:~$ 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
	...
	[email protected]:~$ 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页面了。

时间: 2024-08-07 18:44:42

学会使用 vagrant的相关文章

mac上如何使用Hobo来管理Vagrant盒子?

Hobo是控制Vagrant盒子和在Mac上编辑Vagrantfiles的最佳和最简单的方法.您可以快速启动,停止和重新加载您的Vagrant机器.您可以从头开始轻松创建新的Vagrantfile.那么mac上如何使用Hobo来管理Vagrant盒子呢?今天小编就给大家带来Hobo入门教程,如何用Hobo来管理Vagrant盒子,一起来看看吧! 使用Hobo来管理您的Vagrant盒子本质上是一个三步骤的过程. 创建一个新的Hobo文档并设置任何端口转发,同步目录和其他Vagrant命令.您还可

谈谈Vagrant中的那些坑:CentOS

安装了vagrant之后,当然需要将它投入使用.由于计划中的生产环境是 CentOS 7,因此想搭建一个 基于CentOS 7(x86_64)的虚拟开发环境. 最开始的一系列工作,比如在vbox中安装CentOS 7.打包box文件.将box导入vagrant等都不在此一一细述,后面将有专文总结这些过程. 然后坑来了:修改Vagrantfile配置文件欲实现 public_network: config.vm.network "public_network", ip: "19

学习ASO优化,你需要学会的那些工具

首先,ASO是针对于苹果应用APP的优化方式,由于AppStore是一个封闭的体系,运用外部工具评估APP的运营质量并进行优化则是我们急需学会的技能.那么学习ASO优化,我们需要学会的工具有哪些? 1.APPDUU 软件用于查看APP的关键词覆盖数(KCN).关键词即时排名.关键词相关APP数量,苹果权重(iAR),下载量评级指数(DLR),App Store数据(榜单排名/热门搜索词/关键词热度),关键词拓展,中文分词工具,新增评论数趋势图. 2.App Annie 软件用于查看APP详细信息

vagrant故障记--升级虚拟机linux内核导致无法挂载共享文件夹

i'm new to use vagrant,今天升级了下vbox里的ubuntu12.04内核,结果vagrant reload后出现报错. 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 t

程序员应该学会放松,更应该努力前行

之前实习的时候,偶尔和同事聊到为什么我们这一行会这么累?觉得同事分析的挺有道理,因为我们不像保安.清洁工阿姨(当然这里没有别的意思,只是简单的叙述事例)的工作,他们每天重复着几乎完全相同的工作,所以比较轻松:而我们每天面临的是不同的需求,需要解决不同的问题,换句话说就是我们每天将面对新的挑战,所以我们需要集中精力解决问题,包括学习新知识:而且相对而言,写程序是来不得半点马虎的,有半点错误都会出现问题:所以一旦要解决一个问题,我们必须集中精力,所以导致我们会非常累. 但是从另外一个方面想,我们的工

5个步骤快速学会自己建立个人网站

如何建立自己的网站?只要五步就够了 5个步骤快速学会自己建立1个网站: 1.注册域名 2.开通虚拟主机(空间) 3.域名解析和主机绑定 4.安装建站程序 5.完成网站搭建 认真按照这5个步骤操作,你就可以最快速度学会自己做网站了! 第一步骤:注册域名 什么叫域名? 简单来说域名就是网络地址,通常我们简称"网址",就是当我们要访问一个网站的时候输入的一个访问地址,这个地址就叫域名. 举个例子吧,比如如云网idc的域名是www.yunetidc.com,你在浏览器输入这个网站域名就可以访问

使用Vagrant在Windows下部署开发环境

Vagrant介绍 Vagrant可以提供可配置.可再生.便携的工作环境,它主要是一个中间层技术,它的下层是VirtualBox,VMware等虚拟机软件,它的上层是配置管理系统工具,比如Shell Scripts,Chef,Puppet等可以自动化安装和配置软件的工具. 对你有什么用 对于开发人员来说,Vagrant可以帮你统一团队成员的开发环境.如果你或者你的伙伴创建了一个Vagrantfile,那么你只需要执行vagrant up就行了,所有的软件都会安装并且配置好.团队成员可以通过相同的

vagrant 慕课网 学习笔记

搭建一个环境,不需要重复配置,直接利用vagrant复制就可以了 vagrant 和 virtualbox 的版本必须匹配, 不匹配的话可能会出很多未知的错误 搭配问题可以去官网查看 所有源码在 githup.com/apanly/mooc 如果不能FQ 就请访问 git.oschina.net/apanly/mooc 安装git sudo apt-get install git http://www.imooc.com/video/14218 3-5 vagrant ThinkPHP5运行环境

Vagrant box ubuntu/xenial64 没有密码的解决方法

参考了Vagrant box ubuntu/xenial64 の ubuntuユーザ の passwordについて 1. 可以通过 Git Bash 使用  vagrant ssh 登录到Ubuntu/xenial64的终端中 2. 在终端中输入: vim useradd.sh 文件内容 #!/bin/bash set -Ceu USER="vagrant" # password "vagrant" を SHA-512 でハッシュ化 PASSWORD=$(perl