挂载文件系统
如何将主机目录挂载到虚拟机中
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 | 支持 |
可以通过向 `minikube start` 传递 `--disable-driver-mounts` 来禁用这些挂载。
HyperKit 挂载可以使用以下标志: `--nfs-share=[]`:通过 NFS 挂载与访客机共享的本地文件夹 `--nfs-shares-root='/nfsshares'`:NFS 共享的根目录,默认为 /nfsshares
文件同步
请参阅文件同步