怎么进入有vagrantfile配置文件的目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么进入有vagrantfile配置文件的目录相关的知识,希望对你有一定的参考价值。

1、搜索vagrantbox,如:百度vagrantbox。

2、复制VagrantBox的url,以CentOS6.4 x86_64 Minimal为例。
◆在vagrantbox页面查找CentOS6.4 x86_64 Minimal的url,该url可用于下载vagrantbox文件。
3、添加VagrantBox。
◆Vagrant添加VagrantBox有两种方式:离线添加与在线添加。演示两种添加方式:在D盘创建_vagrant_centos6.4,重命名_centos6.4,在E盘创建vagrant_centos6.4,重命名为centos6.4。
3.1、离线添加VagrantBox。
(1)使用url下载VagrantBox,如:CentOS-6.4-x86_64-v20131103.box。
(2)新建Vagrant工程目录,如:_vagrant_centos6.4。
(3)将CentOS-6.4-x86_64-v20131103.box文件拷贝到_vagrant_centos6.4目录下。
(4)离线添加VagrantBox,命令语法:vagrant box add title box,如下图。
title:为添加的VagrantBox进行重命名,命名方式不限。
box:为下载的VagrantBox文件。
(5)查看Vagrant box,输入命令:vagrant box list。
3.2、在线添加VagrantBox。
(1)进入Windows的“命令提示符”界面。
(2)创建一个Vagrant工程目录:mkdir vagrant_centos6.4。
(3)进入Vagrant工程目录:cd vagrant_centos6.4。
(4)在线添加VagrantBox;命令语法:vagrant box add title url,如下图。
title:为添加的VagrantBox进行重命名,命名格式不限。
url:为CentOS-6.4-x86_64-v20131103.box下载地址(第二步Copy的url)。
(5)查看Vagrant box,输入命令:vagrant box list。
4、初始化Vagrant工程,以”_centos6.4”为例。
◆初始化完成后会生成Vagrantfile文件,Vagrantfile是配置vagrant的重要文件。如:配置网络、端口、SSH等。
(1)初始化Vagrant工程,命令语法:vagrant init title,如下图。
title:为config.vm.box重命名,title可略则默认的config.vm.box=”base”。
(2)查看当前目录是否存在Vagrantfile文件。
5、启动虚拟机”_centos6.4”。
◆启动:vagrant up ◆关闭:vagrant halt ◆重启:vagrant reload
注:vagrant命令需在对应虚拟机目录下运行才有效。
6、运行VirtualBox,查看虚拟机现状(可略)。
7、使用SSH协议连接虚拟机”_centos6.4”。
(1)vagrant ssh连接。

(2)Putty工具连接。
注:虚拟机的默认IP|Port:127.0.0.1:2222 用户:vagrant | root 密码:vagrant
8、打包(package)虚拟机”_centos6.4”。
◆通过SSH连接到虚拟机,进入Centos6.4系统进行各种环境搭建和配置;完毕后则需要将该虚拟机进行打包。
◆打包虚拟机输入命令:vagrant package --output Centos6.4.box;打包方式很多在此不做介绍。
9、添加打包的虚拟机Centos6.4.box并运行该虚拟机。
(1)添加Centos6.4.box:vagrant box add Centos_6.4 Centos6.4.box。
(2)初始化VagrantBox:vagrant init centos_6.4。
(3)启动虚拟机centos_6.4:vagrant up。
参考技术A 可以通过搜索来找到vagrantfile所在的目录
想要打开vagrantfile的话 可以通过visualstudiocode或者是sublime来打开

vagrant系列教程:vagrant的配置文件vagrantfile详解(转)

原文:http://blog.csdn.net/hel12he/article/details/51089774

上一篇文章完整的讲叙了如何安装一个vagrant的环境。这里主要说一说vagrant的配置文件Vagrantfile。我在尝试各种技术的时候,常常苦恼于很多时候没有教程把相关的配置信息说明完整。所以在我的博客里,我一定会完整的把这块给补上。

一 配置详解

在我们的开发目录下有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的,但是我们没有学过Ruby的人还是可以跟着它的注释知道怎么配置一些基本项的配置。

box设置

config.vm.box = "CentOs7"

该名称是再使用 vagrant init 中后面跟的名字。

hostname设置

config.vm.hostname = "for_work"

设置hostname非常重要,因为当我们有很多台虚拟服务器的时候,都是依靠hostname來做识别的。比如,我安装了php7 php56两台虚拟机,再启动时,我可以通过vagrant up php7来指定只启动哪一台。

虚拟机网络设置

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

 

Vagrant有两种方式来进行网络连接,一种是host-only(主机模式),意思是主机和虚拟机之间的网络互访,而不是虚拟机访问internet的技术,也就是只有你一個人自High,其他人访问不到你的虚拟机。另一种是Bridge(桥接模式),该模式下的VM就像是局域网中的一台独立的主机,也就是说需要VM到你的路由器要IP,这样的话局域网里面其他机器就可以访问它了。我一般设置为host-only模式。 
当然该模式,再指定ip的时候注意不要跟主机所在网段发生冲突。

同步目录设置

config.vm.synced_folder  "/Users/helei/www", "/vagrant"

我们上面介绍过/vagrant目录默认就是当前的开发目录,这是在虚拟机开启的时候默认挂载同步的。我们还可以通过配置来设置额外的同步目录。

端口转发设置

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

上面这句配置可厉害了,这一行的意思是把对host机器上8080端口的访问请求forward到虚拟机的80端口的服务上,例如你在你的虚拟机上使用nginx跑了一个PHP应用,那么你在host机器上的浏览器中打开http://localhost时,Vagrant就会把这个请求转发到VM里面跑在80端口的nginx服务上,因此我们可以通过这个设置来帮助我们去设定host和VM之间,或是VM和VM之间的信息交互。 

个人不建议使用该方法,经常因为两台机子端口占用的问题,导致不能正常通信。还是使用上面说的两种网络方式进行设置吧。


上面说的配置方式,均是单机模式,下面说说如何进行集群机器的部署与配置,这是vagrant让我正真激动与兴奋的地方。

看完下面,你会觉得超级简单

现在我们来建立多台VM跑起來,並且让他们之间能够相通信,假设一台是应用服务器、一台是Redis服务器,那么这个结构在Vagrant中非常简单,其实和单台的配置差不多,你只需要通过config.vm.define来定义不同的角色就可以了,现在我们打开配置文件进行如下设置:

技术分享
Vagrant.configure("2") do |config|
  config.vm.define :web do |web|
    web.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--name", "web", "--memory", "512"]
    end
    web.vm.box = "CentOs7"
    web.vm.hostname = "web"
    web.vm.network :private_network, ip: "192.168.33.10"
  end

  config.vm.define :redis do |redis|
    redis.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--name", "redis", "--memory", "512"]
    end
    redis.vm.box = "CentOs7"
    redis.vm.hostname = "redis"
    redis.vm.network :private_network, ip: "192.168.33.11"
  end
end
技术分享

 

这里的的设置与设置单台机器非常的类似,如果还需要机器,只需要再配置文件中拷贝一下,然后重新加载一下这个配置文件就ok啦。是不是非常容易?后面我打算学Hadoop的时候,就用这种方式来试试。 
现在只需要重新启动一下vagrant up机器,你就会在虚拟机中看到两台虚拟机欢快的跑起来了。 
然后这个时候,在使用vagrant ssh登录时,需要指明一下登录的是哪一台机器就ok啦。

比如,我要登录到redis中去。

vagrant ssh redis

这么简单就完成登录了。登录成功后,可以使用ping命令,检查一下机器之间是否能够互相通信。

好吧,本地有了如此利器,你想模拟那样的服务器架构,都可以完成了,只有你的单机足够强大,你可以开20台虚拟机,请随意。

 

 
 



以上是关于怎么进入有vagrantfile配置文件的目录的主要内容,如果未能解决你的问题,请参考以下文章

vagrant系列教程:vagrant的配置文件vagrantfile详解(转)

Vagrantfile配置

Vagrant安装完lnmp后,配置linux和windows共享文件并配置虚拟主机访问项目

Vagrant实战之Vagrantfile

vagrant ssh 登陆ubuntu 为啥每次都要输密码?并未在vagrantfile中配置password

ruby 用于多机配置的Vagrantfile