Colima存储管理

Colima默认将用户目录映射进虚拟机,同时还映射了一个临时文件目录,所以在 colima 虚拟机内部执行 df -h 会看到以下内容:

colima 虚拟机内部通过 df -h 观察可以看到物理主机的用户目录已经映射
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        58G  1.3G   56G   3% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           1.6G  728K  1.6G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
efivarfs         56K  3.3K   48K   7% /sys/firmware/efi/efivars
mount0          234G  123G  111G  53% /Users/huatai
mount1          234G  123G  111G  53% /tmp/colima
/dev/vda16      881M   42M  778M   6% /boot
/dev/vda15      105M  6.1M   99M   6% /boot/efi
tmpfs           794M  4.0K  794M   1% /run/user/501
/dev/vdb         39M   39M     0 100% /mnt/lima-cidata

这个设置在虚拟机启动配置 ~/.colima/default/colima.yaml 中设置:

colima 存储挂载配置案例
# Configure volume mounts for the virtual machine.
# Colima mounts user's home directory by default to provide a familiar
# user experience.
#
# EXAMPLE
# mounts:
#   - location: ~/secrets
#     writable: false
#   - location: ~/projects
#     writable: true
#
# Colima default behaviour: $HOME and /tmp/colima are mounted as writable.
# Default: []
mounts: []

这个默认设置非常巧妙地解决了容器数据持久化能够直接存储到物理主机磁盘中,防止数据丢失。我在 Colima镜像 中就采用这个用户目录作为容器存储卷,方便开发工作。

为了能够更好控制目录映射(我希望仅映射用户目录下指定子目录,即 docssecrets ),所以改变配置如下:

colima 存储挂载配置 docssecrets
# Configure volume mounts for the virtual machine.
# Colima mounts user's home directory by default to provide a familiar
# user experience.
#
# EXAMPLE
# mounts:
#   - location: ~/secrets
#     writable: false
#   - location: ~/projects
#     writable: true
#
# Colima default behaviour: $HOME and /tmp/colima are mounted as writable.
# Default: []
mounts:
  - location: ~/secrets
    writable: false
  - location: ~/docs
    writable: true

重启 colima 服务 ( brew services restart colima ),进入虚拟机( colima ssh ) 可以看到目录挂载:

colima 虚拟机内部通过 df -h 检查 docs 目录映射
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        58G  1.4G   56G   3% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           1.6G  736K  1.6G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
efivarfs         56K  5.7K   46K  12% /sys/firmware/efi/efivars
mount0          234G  123G  111G  53% /Users/huatai/Library/Caches/colima
mount1          234G  123G  111G  53% /Users/huatai/secrets
/dev/vda16      881M   42M  778M   6% /boot
/dev/vda15      105M  6.1M   99M   6% /boot/efi
mount2          234G  123G  111G  53% /Users/huatai/docs
tmpfs           794M  4.0K  794M   1% /run/user/501
/dev/vdb         39M   39M     0 100% /mnt/lima-cidata

参考