内容简介:Vagrant 可以理解为是一个管理虚拟机的工具,我们常用它快速创建虚拟镜像来进行开发或者测试等等。官方文档为因为 Vagrant 只是个单纯管理虚拟机的工具,所以是需要先安装虚拟机的这个 demo 将教你通过 Vagrantfile 快速创建 3 个 ubuntu 的虚拟镜像。首先需要你先添加 Ubuntu 的 box,具体有哪些 box ,可以到
Vagrant 可以理解为是一个管理虚拟机的工具,我们常用它快速创建虚拟镜像来进行开发或者测试等等。官方文档为 https://www.vagrantup.com/docs/
安装
# macOS brew cask install virtualbox brew cask install vagrant
因为 Vagrant 只是个单纯管理虚拟机的工具,所以是需要先安装虚拟机的
快速入门
这个 demo 将教你通过 Vagrantfile 快速创建 3 个 ubuntu 的虚拟镜像。首先需要你先添加 Ubuntu 的 box,具体有哪些 box ,可以到 https://app.vagrantup.com/boxes/search 这里来查找
vagrant box add generic/ubuntu1804
接下来就是一个漫长的等待过程(如果你没开代理的话),这种时候你可以复制它的下载链接,然后通过迅雷等下载 工具 来进行下载,下载完成后再来添加 box
vagrant box add --name generic/ubuntu1804 /path/to/xxxxx
编辑 Vagrantfile
Vagrant.configure(2) do |config| # 指定使用哪个 box config.vm.box = "generic/ubuntu1804" # 指定使用哪个虚拟机 config.vm.provider "virtualbox" do |vb| # 给virtualbox虚拟机指定资源配置,其他配置项可以看https://www.vagrantup.com/docs/virtualbox/configuration.html # 记住,不同的虚拟机的配置是不太一样的,具体看官方文档 # 这里指定了1024M内存 vb.memory = "1024" end # 循环 2 次 (1..2).each do |i| # 创建虚拟机,用 i 下标来标识每一台虚拟机,虚拟机名称为 node1,node2 config.vm.define "node#{i}" do |node| # 配置hostname node.vm.hostname = "node#{i}" # 配置机网络 node.vm.network "private_network", ip: "192.168.33.2#{i}" # 配置端口映射,guest是虚拟机,host是本机 # 需要多个端口映射,就写多个,目录映射同理 node.vm.network "forwarded_port", guest: 80, host: "908#{i}" node.vm.network "forwarded_port", guest: 90, host: "909#{i}" # 配置目录映射,第一个参数是本机目录(这里用是相对路径,你也可以写绝对路径),第二个参数是虚拟机目录 # 第三个参数是 virtualbox 需要的,具体看https://www.virtualbox.org/manual/ch04.html#sharedfolders node.vm.synced_folder "app#{i}", "/vagrant", SharedFoldersEnableSymlinksCreate: false end end # 单独创建一个虚拟机 config.vm.define "manage" do |manage| manage.vm.hostname = "manage" manage.vm.network "private_network", ip: "192.168.33.11" # 使用 shell provision 执行一段脚本,其他 provision 可以看官方文档 # https://www.vagrantup.com/docs/provisioning/ manage.vm.provision "shell", path: "bootstrap-manage.sh" end end
编辑 bootstrap-manage.sh
cat >> /etc/hosts <<EOL 192.168.33.11 manage 192.168.33.21 node1 192.168.33.22 node2 EOL
目录结构
- app1/ - app2/ - bootstrap-manage.sh - Vagrantfile
接下里就是用 Vagrant 来启动虚拟机了,在 Vagrantfile 所在目录执行
vagrant up
在一个长时间的等待后,我们的3台虚拟机就创建完成了。然后我们可以ssh到虚拟机中,查看是否成功
# 因为前面我们定义一个名字叫 manage 的虚拟机,所以可以通过这种方式快速 ssh # 当然你也可以通过 ssh vagrant@192.168.33.11,密码也是vagrant vagrant ssh manage
使用完成后,我们可以通过 Vagrant 关闭虚拟机
vagrant halt
如果想删掉虚拟机的话,也一样可以通过 Vagrant 来处理
vagrant destroy
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 立体字母建模教程【C4D教程】
- PS学习教程 PS制作字体发光效果教程
- 【C4D教程】卡通风可爱小乌龟建模教程
- 卡通风仙人掌建模教程【C4D教程】
- 3D立体字体制作教程,C4D建模教程
- 3D小乌龟制作教程,C4D建模教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
颠覆者:周鸿祎自传
周鸿祎、范海涛 / 北京联合出版公司 / 2017-11 / 49.80元
周鸿祎,一个在中国互联网历史上举足轻重的名字。他被认为是奠定当今中国互联网格局的人之一。 作为第一代互联网人,中国互联网行业最好的产品经理、创业者,他每时每刻都以自己的实践,为互联网的发展贡献自己的力量。 在很长一段时间内,他没有在公共场合发声,甚至有粉丝对当前死水一潭的互联网现状不满意,发出了“人民想念周鸿祎”的呼声。 但周鸿祎在小时候,却是一个踢天弄井,动不动就大闹天宫的超级......一起来看看 《颠覆者:周鸿祎自传》 这本书的介绍吧!