vagrant provision 典型应用场景

简介: 让虚拟机初始创建时,添加自定义的包管理器的源。准备镜像仓库的源配置文件如本例中的:我的虚拟机工作目录是 /Users/pollyduan/vm虚拟机工作目录为/Users/pollyduan/vm/ubuntu我创建了一个/Users/pollyduan/vm/data 作为保存共享所需的软件和资源。

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

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

如本例中的:

我的虚拟机工作目录是 /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"
end
config.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"
end
config.vm.provision "shell" do |s|
  s.inline = "sudo apt-get update"
end

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

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

vagrant provision [实例名]

思考一下

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

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

~vagrant 是什么东西?

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

目录
相关文章
|
Cloud Native 虚拟化 云计算
《Docker基础知识解析:容器与虚拟化的区别与优势,选择最佳方案优化云计算应用》
《Docker基础知识解析:容器与虚拟化的区别与优势,选择最佳方案优化云计算应用》
440 0
|
存储 边缘计算 数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
380 0
|
6月前
|
机器学习/深度学习 自然语言处理 Linux
hisper 在 Linux 中的应用,以及如何利用它来实现高效的自动语音识别
【6月更文挑战第7天】本文探讨了Whisper,一个基于Linux的先进自动语音识别(ASR)系统,它使用PyTorch构建,支持多语言识别。在Linux环境下,通过安装依赖、下载代码、配置环境变量及编译安装,可实现Whisper的部署。Whisper以其多语言支持、高准确性和实时性,适用于语音助手、翻译等场景。随着技术发展,Whisper有望在更多领域发挥作用。
114 5
|
7月前
|
存储 测试技术 开发者
Docker的基本概念和优势,以及实际应用场景
Docker的基本概念和优势,以及实际应用场景
|
SQL 运维 Kubernetes
环境管理的应用场景 | 学习笔记
快速学习环境管理的应用场景
环境管理的应用场景 | 学习笔记
|
分布式计算 Ubuntu Hadoop
大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析
大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析
283 0
大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析
|
NoSQL 大数据 Redis
|
SQL 关系型数据库 MySQL
基于mac构建大数据伪分布式学习环境(五)-部署MySQL8.30
本文主要讲解MySQL在Linux环境下的部署
169 0
|
数据采集 算法 应用服务中间件
彻底透彻Docker常用网络模式及应用场景
彻底透彻Docker常用网络模式及应用场景
520 0
彻底透彻Docker常用网络模式及应用场景