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