博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vagrant provision 典型应用场景
阅读量:5826 次
发布时间:2019-06-18

本文共 1218 字,大约阅读时间需要 4 分钟。

让虚拟机初始创建时,添加自定义的包管理器的源。

准备镜像仓库的源配置文件

如本例中的:

我的虚拟机工作目录是 /Users/pollyduan/vm虚拟机工作目录为/Users/pollyduan/vm/ubuntu我创建了一个/Users/pollyduan/vm/data 作为保存共享所需的软件和资源。provision中的source可以使用相对路径,因此我的用户目录/Users/pollyduan 可以省略。如:"../data/mirrors/tsinghua/CentOS7/CentOS-Base.repo""../data/mirrors/tsinghua/ubuntu16.04/sources.list"

centos7:

将如下配置添加到Vagrantfile的”config.vm.synced_folder” 下面即可。

config.vm.provision "file", source: "../data/mirrors/tsinghua/CentOS7/CentOS-Base.repo", destination: "~/CentOS-Base.repo"config.vm.provision "shell" do |s|  s.inline = "sudo cp ~vagrant/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo"endconfig.vm.provision "shell" do |s|  s.inline = "sudo yum makecache"end

ubuntu:

同样的,ubuntu中,将如下配置添加到Vagrantfile的”config.vm.synced_folder” 下面即可。

config.vm.provision "file", source: "../data/mirrors/tsinghua/ubuntu16.04/sources.list", destination: "~/sources.list"config.vm.provision "shell" do |s|  s.inline = "sudo cp ~vagrant/sources.list /etc/apt/sources.list"endconfig.vm.provision "shell" do |s|  s.inline = "sudo apt-get update"end

这样,虚拟机一旦创建,就会自动把包管理器的源替换掉。

当然,如果你修改了源配置文件,也可以使用如下命令更新:

vagrant provision [实例名]

思考一下

为什么不直接使用file命令复制到目标目录?

为什么要在vm目录中创建一个data目录作为共享目录?

~vagrant 是什么东西?

不明白的,请参阅之前的文字。

转载地址:http://rjpdx.baihongyu.com/

你可能感兴趣的文章
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
多线程day01
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>