内容简介: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建模教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Just My Type
Simon Garfield / Profile Books / 2010-10-21 / GBP 14.99
What's your type? Suddenly everyone's obsessed with fonts. Whether you're enraged by Ikea's Verdanagate, want to know what the Beach Boys have in common with easy Jet or why it's okay to like Comic Sa......一起来看看 《Just My Type》 这本书的介绍吧!