Vagrant通过自定义Vagrantfile,|Vagrant通过自定义Vagrantfile, 减少重复工作
【Vagrant通过自定义Vagrantfile,|Vagrant通过自定义Vagrantfile, 减少重复工作】Windows 10确实非常不错,以至于我都不愿意再回到Linux桌面。 但有个问题,在Windows 进行后台开发很不方便,好多包甚至不支持Windows。 不过使用Vagrant这样的工具,可以大大减轻这样的问题。
Vagrant 介绍
Vagrant 可以很方便的管理虚拟机, 使得配置开发环境变得容易。 支持多种hypervisor, 不过我一般用virtualbox,够用而且不要钱。
Vagrant官网有详细的介绍, 里面的文档也比较好, 推荐进行学习。 也可以参考这个中文教程。
我的Vagrantfile
我一般有下面的需求:
- 配置特定的ip, 方便组织虚拟机和后面登陆.
- 共享磁盘.
- 配置cpu和内存(可选).
- 把我的公钥放在上面,方便后面登陆。
- 替换源为阿里云,并更新系统。
# -*- mode: ruby -*-
# vi: set ft=ruby :Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"config.vm.box_check_update = falseconfig.vm.network "private_network", ip: "172.16.1.4"# 共享D盘和E盘
config.vm.synced_folder 'd:/', "/d"
config.vm.synced_folder 'e:/', "/e"# 配置虚拟机的内存,cpu
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end# 准备虚拟机
config.vm.provision "shell" do |s|
ssh_pub_key = File.readlines('E:\config\ssh\personal.pub').first.strip
s.inline = <<-SHELL
# 把自己的公钥放在上面
if ! grep -Fxq "$ssh_pub_key" /home/vagrant/.ssh/authorized_keys;
then
echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
fi
# 替换默认源为阿里源
if ! cmp --silent /etc/apt/sources.list /e/config/vagrant/ubuntu/sources.list;
then
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo cp /e/config/vagrant/ubuntu/sources.list /etc/apt/sources.list
fi
# 更新软件仓库信息 && 升级
sudo apt-get update && sudo apt-get -y upgrade
SHELL
end
end
其他配置: 我将公钥和阿里源文件提前放到了E盘指定的文件。
推荐阅读
- SpringBoot调用公共模块的自定义注解失效的解决
- python自定义封装带颜色的logging模块
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 列出所有自定义的function和view
- whlie循环和for循环的应用
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 自定义MyAdapter
- 如何通过锻炼的方法治疗前列腺肥大
- Vagrant|Vagrant (三) - 网络配置
- Android自定义view实现圆环进度条效果