Mac VirtualBox Vagrant 管理虚拟机
这篇文章定位是在理解了 vagrant 相关概念之后,教你如何灵活玩转自己的虚拟机配置
本文为 @favoorr 常用的 Mac VirtualBox Vagrant 管理虚拟机的通用配置向导
我的云梯 VPN 连接是 http://referyt.com/?r=9ea6f6df9967e57c
使用这个连接,你优惠 10 元,我获得 10 元
1.去官方找自己想要的镜像文件信息
https://atlas.hashicorp.com/search
例如想来个 ubuntu 16.04 64位,那么关键字就是 xenial64
找到的地址就是 https://atlas.hashicorp.com/ubuntu/boxes/xenial64
2.在本地文件系统建立对应的存放目录,本地目录按照自己意愿,任意位置
1
2
|
该目录存放所有使用 vagrant 管理的虚拟机
$ cd ~/Documents/try/vagrant/
|
3.初始化虚拟机存放目录
1
2
3
4
5
6
7
|
新建存放 ubuntu 16.04 64 位的文件位置
$ mkdir xenial64 && cd xenial64
使用 vagrant 命令初始化虚拟机
$ vagrant init ubuntu/xenial64
执行完之后,发现 xenial64 目录下多了个配置文件 Vagrantfile
|
4.修改 Vagrantfile ,配置自己的虚拟机,
其实什么都不修改,按照默认配置,这时候执行 vagrant up 的时候已经可以运行虚拟机了,这个是 hello world 的做法,实际使用中,还是要自己学会修改配置,知道每个配置项会带来的影响
有些配置是没有的,有些是有的默认是注释的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
配置主机名,进入操作系统执行 hostname 显示的名字,我用的规则是 系统版本-IP
系统是 xenial64,IP 最后一位是 155
config.vm.hostname = "xenial64-155"
vagrant box 的版本,如果不配置,会自动去下载最新版本
我用的是 daily build 的版本,这个看自己喜好,我这个本来就是尝试一些新东西玩的
config.vm.box_version = "20161209.0.0"
配置端口映射,通过访问本机的 8080 端口,访问安装后虚拟机的 8080 端口
config.vm.network "forwarded_port", guest: 8080, host: 8080
配置虚拟机的 ip,默认网卡一是 NAT 方式,不需要配置
这里创建网卡二 Host-Only,对应 VirtualBox 的 vbox0
config.vm.network "private_network", ip: "192.168.56.155"
配置共享文件夹目录,进入系统后,自动挂载 /lesson
config.vm.synced_folder "/Users/User/zl/python/lesson", "/lesson"
VirtualBox 的配置
config.vm.provider "virtualbox" do |vb|
vb.name = "xenial64-155"
# Display the VirtualBox GUI when booting the machine
vb.gui = false
# Customize the amount of memory on the VM:
vb.memory = "1024"
vb.cpus = "2"
end
|
5.在 xenial64 目录下执行命令,初始化并启动虚拟机
这里要注意,如果是第一次启动,会自动下载 vagrant box,最好挂 VPN了,不多解释,
如果没有 VPN,就手工下载包,导入后续会有文章介绍
1
|
vagrant up --provider virtualbox
|
6.在 xenial64 目录下执行命令,进入虚拟机,测试网络
1
2
3
4
5
|
进入虚拟机
vagrant ssh
测试网络,我全程 VPN,虚拟机内部访问 google 也是无压力的
ping www.google.com
|
参考 Vagrantfile 配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
大专栏 vagrant 虚拟机配置最佳实践iv class="line">28
- atitit.spring3 mvc url配置最佳实践
atitit.spring3 mvc url配置最佳实践 1. Url-pattern bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...
- (转)Amazon Aurora MySQL 数据库配置最佳实践
转自:https://zhuanlan.zhihu.com/p/165047153 Amazon Aurora MySQL 数据库配置最佳实践 AWS云计算 已认证的官方帐号 1 人赞同了该文章 ...
- 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南
0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...
- maven 安装与配置最佳实践
配置Maven环境变量 1.新建 maven home 环境变量 变量名:M2_HOME 变量值:D:\ProgramFiles\apache-maven-3.5.4 2 ...
- Gradle配置最佳实践
https://blog.csdn.net/devilnov/article/details/53321164 本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issu ...
- Java容器化参数配置最佳实践
Java是以VM为基础的,而云原生讲究的就是Native,天然的矛盾,虽然Quarkus是为GraalVM和HotSpot量身定制的K8s Native Java框架,生态原因切换成本太高,这种矛盾体 ...
- Jira字段配置最佳实践
在我们创建Jira时,Jira上会填写各式各样的字段,不同的字段对于不同的角色人员,使用方式也是不同的,通过这篇文章,希望大家能够对Jira使用有更深刻的认识. 为什么需要严格规范? 易于开发,测试, ...
- Spring.profiles多环境配置最佳实践
转自:https://www.cnblogs.com/jason0529/p/6567373.html Spring的profiles机制,是应对多环境下面的一个解决方案,比较常见的是开发和测试环境的 ...
- HTTPS安全加固配置最佳实践指南
转载自:https://www.bilibili.com/read/cv16067729?spm_id_from=333.999.0.0 0x02 HTTPS安全加固指南 描述: 当你的网站上了 HT ...
随机推荐
- POJ 1O17 Packets [贪心]
Packets Description A factory produces products packed in square packets of the same height h and of ...
- oracle 导入导出参数
- Django的View(视图)-settings源码的解析-模板层-模板语法
FBV与CBV 视图函数并不只是指函数,也可以是类 FBV:基于函数的视图,类似面向函数式编程 CBV:基于类的视图,类似面向对象编程 研究解析render源码: render:返回html页面:并且 ...
- 定时任务--Timer()实现
Java的Timer以及TimerTask类可以帮助我们实现定时器功能,利用servlet监听程序可以实现WEB服务启动之后执行某些工作.两者结合就可以再web应用中实现定时器功能. 1.计划类代码S ...
- poj-3259 Wormholes(无向、负权、最短路之负环判断)
http://poj.org/problem?id=3259 Description While exploring his many farms, Farmer John has discovere ...
- SG函数学习
尼姆博弈就是sg函数的简单体现 学习粗:https://blog.csdn.net/luomingjun12315/article/details/45555495 //f[N]:可改变当前状态的方式 ...
- Revit二次开发-获取材质的纹理贴图
通过IExportContext导出类中的Onmaterial()方法,可以获取到材质相关信息,主要是材质ID,再根据材质ID得到材质对象material,然后通过如下代码获取Asset对象: Ele ...
- 依据gff切fa并翻译为蛋白质
#!/usr/bin/python import re import sys import gzip change={'A':'T','T':'A','C':'G','G':'C','N':'N'} ...
- php的header方法
http://www.cnblogs.com/fengzheng126/archive/2012/04/21/2461475.html
- Xshell中使用xftp怎么选择默认编辑器,如nodepad
工具-选项-高级-编辑器路径
|