当前位置: 首页 > ai >正文

vagrant怎么在宿主机管理虚拟机镜像box(先搁置)

Vagrant在宿主机管理虚拟机镜像Box的详细指南

1. 基本概念

Vagrant Box是Vagrant的核心组件,它是一个预配置的虚拟机镜像,包含操作系统和基本的软件配置。在宿主机上管理这些Box镜像是Vagrant工作流中的重要环节。

2. 常用Box管理命令

2.1 添加Box到本地仓库

vagrant box add [box名称] [box文件路径/URL]

示例:

vagrant box add ubuntu/trusty64 https://vagrantcloud.com/ubuntu/boxes/trusty64

2.2 列出已安装的Box

vagrant box list

输出示例:

centos/7          (virtualbox, 1905.1)
ubuntu/bionic64   (virtualbox, 20190618.0.0)

2.3 更新Box

vagrant box update [box名称]

示例:

vagrant box update ubuntu/bionic64

2.4 删除Box

vagrant box remove [box名称]

示例:

vagrant box remove centos/7

3. Box文件存储位置

Vagrant Box默认存储在以下位置:

  • Linux/macOS: ~/.vagrant.d/boxes
  • Windows: C:\Users\<username>\.vagrant.d\boxes

4. 高级管理技巧

4.1 查看Box详细信息

vagrant box outdated
vagrant box prune

4.2 手动管理Box文件

你可以直接操作.vagrant.d/boxes目录,但建议使用Vagrant命令进行管理。

4.3 自定义Box存储路径

通过设置环境变量可以改变Box存储位置:

export VAGRANT_HOME=/path/to/custom/location

5. Box版本管理

Vagrant支持Box的多版本管理,可以通过以下方式指定特定版本:

vagrant box add ubuntu/bionic64 --box-version "20190618.0.0"

6. 创建自定义Box

从现有虚拟机创建自定义Box:

vagrant package --output mybox.box

7. 最佳实践

  1. 定期清理不再使用的Box以节省磁盘空间
  2. 为生产环境使用固定版本的Box以保证一致性
  3. 对自定义Box做好版本标记
  4. 考虑使用私有Box仓库管理内部镜像

通过合理管理Box镜像,可以大大提高Vagrant的工作效率和环境一致性。

实践

添加ubuntu到vagrant

vagrant box add ubuntu "/Users/skywalk/VirtualBox VMs/ubuntu/ubuntu.vdi"

但是没有添加成功,可能是空间不够了....以后有时间再调试。

调试

导入box到本地仓库失败报错

skywalk$ vagrant box add freebsd "/Users/skywalk/VirtualBox VMs/freebsd/freebsd.vbox"

==> box: Box file was not detected as metadata. Adding it directly...

==> box: Adding box 'freebsd' (v0) for provider: (amd64)

    box: Unpacking necessary files from: file:///Users/skywalk/VirtualBox%20VMs/freebsd/freebsd.vbox

The box failed to unpackage properly. Please verify that the box

file you're trying to add is not corrupted and that enough disk space

is available and then try again.

The output from attempting to unpackage (if any):

bsdtar: Error opening archive: Unrecognized archive format

检查Virtualbox版本,发现原来是7.x,现在最新7.1.12,升级到新版本试试

升级后问题照旧

尝试转换vbox存盘文件报错

VBoxManage export <vm-name> -o freebsd.ova

-bash: vm-name: No such file or directory

(base) laiweilideMacBook-Air:freebsd skywalk$ VBoxManage export freebsd.vbox -o freebsd.ova

VBoxManage: error: Failed to create the VirtualBox object!

VBoxManage: error: Code NS_ERROR_FAILURE (0x80004005) - Operation failed (extended info not available)

VBoxManage: error: Most likely, the VirtualBox COM server is not running or failed to start.

弄明白了,应该是vbi文件。另外前面的FreeBSD镜像有问题,换用ubuntu的镜像就好了。因为能添加,所以也就不需要转换vbox了

vagrant box add ubuntu "/Users/skywalk/VirtualBox VMs/ubuntu/ubuntu.vdi"

好吧,又报错了,不过这回看着可能是磁盘空间不够了

==> box: Adding box 'ubuntu' (v0) for provider: (amd64)box: Unpacking necessary files from: file:///Users/skywalk/VirtualBox%20VMs/ubuntu/ubuntu.vdi
The box failed to unpackage properly. Please verify that the box
file you're trying to add is not corrupted and that enough disk space
is available and then try again.
The output from attempting to unpackage (if any):bsdtar: Error opening archive: Unrecognized archive format

http://www.xdnf.cn/news/18789.html

相关文章:

  • PyTorch生成式人工智能——PatchGAN详解与实现
  • LeetCode 438. 找到字符串中所有的字母异位词
  • 功能强大的PDF工具箱-- PDF补丁丁,v1.1.0.4657新版本,免费无广告,开箱即用版~
  • flutter专栏--dart基础知识
  • Android系统学习2——Android.Utils.Log模块讨论
  • [Maven 基础课程]Maven 是什么
  • Java微服务AI集成指南:LangChain4j vs SpringAI
  • imx6ull-驱动开发篇43——I.MX6U 的 I2C 驱动分析
  • 软件开发技术栈
  • 集成电路学习:什么是ResNet深度残差网络
  • LeetCode 2140. 解决智力问题
  • JavaScript常用的算法详解
  • 8.26网络编程——Modbus TCP
  • 【跨国数仓迁移最佳实践7】基于MaxCompute多租的大数据平台架构
  • 发力低空经济领域,移动云为前沿产业加速崛起注入云端动能
  • Tomcat下载历史版本
  • 前沿技术趋势与应用:探索数字世界的下一个十年
  • 【第三章】软件测试缺陷管理:从判断到回归的全流程实践指南​
  • 支持向量机学习
  • 33.ansible 比较重要的配置文件
  • 可口可乐考虑出售Costa咖世家!加上星巴克中国、Peet’s皮爷咖啡,三大国际咖啡品牌“纷纷卖身”!咖啡行业格局彻底改写!
  • MyBatis-Flex是如何避免不同数据库语法差异的?
  • 微服务-23.网关登录校验-自定义GlobalFilter
  • 数据结构青铜到王者第五话---LinkedList与链表(2)
  • 洛谷: CF632D Longest Subsequence-普及+/提高
  • 相机激光安全等级和人眼安全
  • 亚马逊云科技免费套餐新政解析与实战:数据分析与可视化平台
  • 机器学习(二)特征工程
  • 深度剖析初始化vue项目文件结构!!【前端】
  • (MySQL索引事务) 本节目标 索引 事务