挂载文件系统

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

9P 挂载

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

使用 mount 子命令将主机上的目录挂载到访客中

minikube mount <source directory>:<target directory>

例如,这将把你的主目录挂载到 minikube VM 中的 /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 挂载与访客共享的本地文件夹 --nfs-shares-root='/nfsshares': NFS 共享的根目录位置,默认为 /nfsshares

文件同步

请参阅 文件同步


上次修改时间:2022 年 2 月 1 日:Added Network Policy page to handbook (51092e0e3)