挂载文件系统

如何将主机目录挂载到虚拟机中

9P 挂载

9P 挂载非常灵活,适用于所有虚拟机管理程序,但在与大型文件夹(> 600 个文件)一起使用时,性能和可靠性会受到影响。请参阅 驱动程序挂载 作为替代方案。

要使用 mount 子命令将主机目录挂载到虚拟机中

minikube mount <source directory>:<target directory>

例如,这会将您的主目录挂载为 minikube 虚拟机中的 /host

minikube mount $HOME:/host

然后,可以在 Kubernetes 清单中引用此目录,例如

{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "name": "ubuntu"
  },
  "spec": {
    "containers": [
      {
        "name": "ubuntu",
        "image": "ubuntu:18.04",
        "args": ["bash"],
        "stdin": true,
        "stdinOnce": true,
        "tty": true,
        "workingDir": "/host",
        "volumeMounts": [
          {
            "mountPath": "/host",
            "name": "host-mount"
          }
        ]
      }
    ],
    "volumes": [
      {
        "name": "host-mount",
        "hostPath": {
          "path": "/host"
        }
      }
    ]
  }
}

驱动程序挂载

某些虚拟机管理程序具有内置的主机文件夹共享功能。驱动程序挂载可靠且性能良好,但路径在操作系统或虚拟机管理程序之间是不可预测的

驱动程序 操作系统 主机文件夹 虚拟机
VirtualBox Linux /home /hosthome
VirtualBox macOS /Users /Users
VirtualBox Windows C://Users /c/Users
VMware Fusion macOS /Users /mnt/hgfs/Users
KVM Linux 不支持
HyperKit macOS 支持

可以通过将 --disable-driver-mounts 传递给 minikube start 来禁用这些挂载。

HyperKit 挂载可以使用以下标志:--nfs-share=[]:通过 NFS 挂载与 Guest 共享的本地文件夹 --nfs-shares-root='/nfsshares':NFS 共享的根目录,默认为 /nfsshares

文件同步

请参阅 文件同步


上次修改时间为 2022 年 2 月 1 日:在手册中添加网络策略页面 (51092e0e3)