熟练使用vagrant(5):vagrant的虚拟机安装在哪里

vagrant up初始化并启动虚拟机后,在Vagrantfile文件所在目录内,将有一个名为.vagrant的目录,vagrant up根据Vagrantfile所创建的虚拟机的vagrant状态数据都处于.vagrant/machines内。

虚拟机自身安装到了哪里?这和虚拟机管理工具有关:

  • 对于hyperv来说,虚拟机自身也被安装在.vagrant/machines
  • 对于virtualbox来说,虚拟机自身则被安装在virtualbox所指定的默认安装目录下
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 对于hyperv,虚拟机直接安装在.vagrant/machines内
$ tree -a
.
├── .vagrant
│   ├── machines
│   │   └── default
│   │   └── hyperv
│   │   ├── Snapshots
│   │   ├── Virtual Hard Disks
│   │   │   └── generic-ubuntu2004-hyperv.vhdx # 磁盘文件
│   │   ├── Virtual Machines
│   │   │   ├── F80DC6C1-39DF-444A-8589-49574F8E378F
│   │   │   ├── F80DC6C1-39DF-444A-8589-49574F8E378F.VMRS
│   │   │   ├── F80DC6C1-39DF-444A-8589-49574F8E378F.vmcx
│   │   │   └── F80DC6C1-39DF-444A-8589-49574F8E378F.vmgs
│   │   ├── action_configure
│   │   ├── action_provision
│   │   ├── action_set_name
│   │   ├── box_meta
│   │   ├── creator_uid
│   │   ├── id
│   │   ├── index_uuid
│   │   ├── private_key
│   │   ├── synced_folders
│   │   └── vagrant_cwd
│   └── rgloader
│   └── loader.rb
└── Vagrantfile

# 对于virtualbox,只保存了部分状态文件
$ tree -a
.
├── .vagrant
│   ├── machines
│   │   └── ubuntu2004_junmajinlong
│   │   └── virtualbox
│   │   ├── action_provision
│   │   ├── action_set_name
│   │   ├── box_meta
│   │   ├── creator_uid
│   │   ├── id
│   │   ├── index_uuid
│   │   ├── private_key
│   │   ├── synced_folders
│   │   └── vagrant_cwd
│   └── rgloader
│   └── loader.rb
└── Vagrantfile

# 实际的虚拟机保存在virtualbox的默认安装目录vbox_xuniji内
$ tree vbox_xuniji/ubuntu2004/
vbox_xuniji/ubuntu2004/
├── Logs
│   ├── VBox.log
│   ├── VBoxHardening.log
│   └── VBoxUI.log
├── generic-ubuntu2004-virtualbox-disk001.vmdk
├── ubuntu2004.vbox
└── ubuntu2004.vbox-prev