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

vagrant 虚拟机配置最佳实践的更多相关文章

  1. atitit.spring3 mvc url配置最佳实践

    atitit.spring3 mvc url配置最佳实践 1. Url-pattern  bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...

  2. (转)Amazon Aurora MySQL 数据库配置最佳实践

    转自:https://zhuanlan.zhihu.com/p/165047153 Amazon Aurora MySQL 数据库配置最佳实践 AWS云计算 ​ 已认证的官方帐号 1 人赞同了该文章 ...

  3. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  4. maven 安装与配置最佳实践

    配置Maven环境变量 1.新建 maven home 环境变量      变量名:M2_HOME     变量值:D:\ProgramFiles\apache-maven-3.5.4       2 ...

  5. Gradle配置最佳实践

    https://blog.csdn.net/devilnov/article/details/53321164 本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issu ...

  6. Java容器化参数配置最佳实践

    Java是以VM为基础的,而云原生讲究的就是Native,天然的矛盾,虽然Quarkus是为GraalVM和HotSpot量身定制的K8s Native Java框架,生态原因切换成本太高,这种矛盾体 ...

  7. Jira字段配置最佳实践

    在我们创建Jira时,Jira上会填写各式各样的字段,不同的字段对于不同的角色人员,使用方式也是不同的,通过这篇文章,希望大家能够对Jira使用有更深刻的认识. 为什么需要严格规范? 易于开发,测试, ...

  8. Spring.profiles多环境配置最佳实践

    转自:https://www.cnblogs.com/jason0529/p/6567373.html Spring的profiles机制,是应对多环境下面的一个解决方案,比较常见的是开发和测试环境的 ...

  9. HTTPS安全加固配置最佳实践指南

    转载自:https://www.bilibili.com/read/cv16067729?spm_id_from=333.999.0.0 0x02 HTTPS安全加固指南 描述: 当你的网站上了 HT ...

随机推荐

  1. dubbo的灰度发布

    1,什么是灰度发布 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用. 可以按照以下的步骤进行版本迁移: 在低压力时间段,先升级一半提供者为新版本 再将所有消费者升级为 ...

  2. MACOSX下查看某个端口被哪个程序占用及杀进程方法

    sudo lsof -i :9000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 61342 a 313u IPv6 0x11111 ...

  3. mac词典安装

    网上下载词典文件,比如https://www.xiaomac.com/2013121204.html,将朗道词典解压放入这里. $ ls /Library/Dictionaries/ langdao- ...

  4. EnableAutoConfiguration注解 Spring中@Import注解的作用和使用

    EnableAutoConfiguration注解 http://www.51gjie.com/javaweb/1046.html springboot@EnableAutoConfiguration ...

  5. 14 微服务电商【黑马乐优商城】:day06-了解vue-router和webpack的使用

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...

  6. RDD(九)——序列化问题

    在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要考虑的主要问题是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的,这就涉及到了跨进程通信,是需要序列化 ...

  7. RDD(二)——创建

    RDD的创建 1)从内存中创建 从集合中创建RDD,Spark主要提供了两种函数:parallelize和makeRDD val raw: RDD[Int] = sc.parallelize(1 to ...

  8. 阿里OSS下载文件,提示The request signature we calculated does not match the signature you provided. Check your key and signing method

    提示说是签名不对,但没搞懂签名具体是啥,以为之前做过,有正确的,就一点点比对,最后发现竟然是下载的文件路径,里面必须是/,而不能是\或\\,搞得我哭笑不得.比如,要下载的文件路径是:soft/cszt ...

  9. Octave 常用命令

    GNU Octave 官方文档 GNU Octave Documentation(Online) GNU Octave Documentation(PDF) 安装额外的包 Installing and ...

  10. T-shirt

    题目描述 JSZKC is going to spend his vacation!  His vacation has N days. Each day, he can choose a T-shi ...