挂载文件系统
如何将主机目录挂载到虚拟机中
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
文件同步
请参阅 文件同步