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. Python笔记_第三篇_面向对象_2.构造函数和析构函数(含self说明)

    1. 构造函数: 为什么要有构造函数? 打一个比方:类的创建就是好比你创建了好了一种格式的房间,你租给上一个住户的后,里面会对方很多“垃圾”和不规则的物品摆放.构造函数就是下一个住户再使用的时候进行物 ...

  2. 哈夫曼编码的理解(Huffman Coding)

    哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种.Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最 ...

  3. 巧用函数,使Sql中in的用法更多变

    在Sql中我们经常会用到in 普遍的写法为 where xx in ('1','2','3') 通过函数写法为: IF EXISTS ( SELECT * FROM sys.objects WHERE ...

  4. Mac下Rblas配置

    Mac 下加速 R做矩阵计算, 感觉比没有R open 快, 但数量级上差不多了. 安装R open时,提示 X11相关的组件缺失,不想再额外安装,怕污染系统文件. cd /Library/Frame ...

  5. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:TensorFlow图像处理函数

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt #读取图片 image_raw_data = tf ...

  6. 模型层字段-多表查询-神奇的双下划线查询-F,Q查询

    Django ORM中常用的字段和参数 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. In ...

  7. pyCharm专业版最新2018激活码激活

    说明:本人亲测有用,对Window.Linux.Mac都稳定有效. 缺点:需要修改hosts文件 步骤: 由于管理权限问题,大部分电脑都不能直接修改hosts文件,所以我们可以先将hosts文件复制到 ...

  8. iOS分段选择器、旅行App、标度尺、对对碰小游戏、自定义相册等源码

    iOS精选源码 企业级开源项目,模仿艺龙旅行App 标签选择器--LeeTagView CSSegmentedControl常用的分段选择器,简单易用! 仿微信左滑删除 IOS左滑返回 输入框 iOS ...

  9. SAP PM:设备主数据常用BAPI

    如下参考: STATUS_CHANGE_EXTERN BAPI_EQMT_MODIFY BAPI_EQUI_CHANGE PM BAPI: Change Equipment BAPI_EQUI_CRE ...

  10. WIFI模块AP和STA模式分别是什么意思

    无线AP(Access Point):即无线接入点,它用于无线网络的无线交换机,也是无线网络的核心.无线AP是移动计算机用户进入有线网络的接入点,主要用于宽带家庭.大楼内部以及园区内部,可以覆盖几十米 ...