Vagrantfile 配置

作者: 程序猿Timothy | 来源:发表于2015-07-27 11:00 被阅读5986次

配置文件里都写了些啥?

我们先打开Vagrantfile :

Vagrant 就是使用 Ruby 写成的, 所以在这里的配置文件也需要满足 Ruby 语法。

config.vm.box = "ubuntu/trusty64"

可以看到,这两行就是我们在vagrant init中后面所指定的参数。由此可以看出,vagrant init只是帮我们生成了配置文件而已,换句话说,如果我们写好了Vagrantfile,就不需要vagrant init,只需将准备好的配置文件放入到所需目录中,然后直接执行vagrant up即可。

还有很多注释掉的配置,那些都是一些常用的配置,包括网卡设置、IP地址、绑定目录,甚至可以指定内存大小、CPU个数、是否启动界面等等。如果需要,可以根据注释文本进行配置。

下面列出一些常用的配置:

config.vm.hostname:配置虚拟机主机名

config.vm.network:这是配置虚拟机网络,由于比较复杂,我们其后单独讨论

config.vm.synced_folder:除了默认的目录绑定外,还可以手动指定绑定

config.ssh.username:默认的用户是vagrant,从官方下载的box往往使用的是这个用户名。如果是自定制的box,所使用的用户名可能会有所不同,通过这个配置设定所用的用户名。

config.vm.provision:我们可以通过这个配置在虚拟机第一次启动的时候进行一些安装配置,后面我们将专门介绍。

需要注意的是,Vagrantfile文件只会在第一次执行vagrant up时调用执行,其后如果不明确使用vagrant reload,则不会被强制重新加载。

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

这将让物理机的8080端口映射到虚拟机的80端口。因此,可以在物理机上直接访问虚拟机所建立的网站。这在虚拟机使用不是桥接的时候尤为重要,因为很多时候默认会禁止物理机通过网络直接访问虚拟机,通过端口映射可以依旧能够访问所需端口。

我们还可以通过config.vm.network来指定所在网络以及IP地址。一般来说,分为private_network还是public_network。

private_network: 私有网络

位于私有网络的主机之间可以互相访问,但是外界无法访问私有网络的主机,对于某些虚拟机而言,连物理机都无法通过网络直接访问虚拟机,此时如果需要使用物理机访问虚拟机,就需要前面所提及的端口映射。例如:

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

public_network:公有网络

在绝大多数虚拟机上,这等同于桥接网络。如果虚拟机选择了桥接方式连接,也就是相当于虚拟机和物理机在网络上处于平等的位置,同样的接在了网卡所在的网络。因此从外界看来,会感觉这是两台独立的计算机。

配置方式和私有网络接近,只需将其中的private_network换成public_network。如要使用 DHCP:

config.vm.network"public_network"

如果物理机存在多块网卡,需要指定某一块作为桥接用,那么可以参考如下配置:

config.vm.network"public_network",:bridge=>'en1: Wi-Fi (AirPort)'

如果是在启动了虚拟机之后,需要重新加载配置,只需要执行:

vagrant reload

相关文章

  • Vagrantfile 配置

    配置文件里都写了些啥? 我们先打开Vagrantfile : Vagrant 就是使用 Ruby 写成的, 所以在...

  • Ansible&Vagrant项目部署方案

    前提 本地Vagrant环境已经完成安装和配置 分类 PHP + Java 配置 Vagrantfile增加配置 ...

  • 项目设置

    配置任何vagrant项目的第一步是创建Vagrantfile文件。Vagrantfile的目的有两个: 标记项目...

  • JumpServer安装

    本文vagrantfile配置详细参考vagrant-jumpserver 目录 Database Python3...

  • ELK安装

    本文vagrantfile配置详细参考vagrant-elk 目录 JDK Elasticsearch Kiban...

  • vagrant配置文件详解

    文件在vagrant目录下,有Vagrantfile配置文件,主要包括三个方面的配置,虚拟机的配置、SSH配置、V...

  • Zabbix安装 - 新

    本文vagrantfile配置详细参考vagrant-zabbix 目录 安装 报警 网页 监控 模式 安装 浏览...

  • vagrant_example_01

    vagrant 命令 Vagrantfile 虚拟机配置文件 虚拟机网络配置 端口转发,私有网络,公有网络。 va...

  • Vagrant实战之Vagrantfile

    接上一篇文章,说说Vagrant的配置文件Vagrantfile 参考: https://www.vagrantu...

  • Homestead 学习笔记

    Homestead 介绍 Homestead 利用 Vagrantfile 提供的便利,定制了一整套的可配置、可移...

网友评论

  • 后端时光:我想要修改这个文件,但是发现有很多个Vagrantfile 文件,不知道修改哪个,你的这个文件在哪个目录呢
    721cce1d494b:和你的vagrant project同一个层级

本文标题:Vagrantfile 配置

本文链接:https://www.haomeiwen.com/subject/hkemqttx.html