Docker 如何在minikube VM中装载主机文件夹

Docker 如何在minikube VM中装载主机文件夹,docker,kubernetes,minikube,Docker,Kubernetes,Minikube,我有一个用例,需要kubernetes下的Docker容器来访问主机路径。我正在使用minikube,容器能够访问minikube VirtualBox VM中的文件夹。但我不知道如何让它访问主机上的文件夹 我在主机上执行以下命令来创建/opt/foo以在VM中共享: $ sudo touch /opt/foo/FOO $ ls /opt/foo FOO $ minikube mount -v 5 /opt/foo:/opt/foo Mounting /opt/foo into /opt/foo

我有一个用例,需要kubernetes下的Docker容器来访问主机路径。我正在使用minikube,容器能够访问minikube VirtualBox VM中的文件夹。但我不知道如何让它访问主机上的文件夹

我在主机上执行以下命令来创建/opt/foo以在VM中共享:

$ sudo touch /opt/foo/FOO
$ ls /opt/foo
FOO
$ minikube mount -v 5 /opt/foo:/opt/foo
Mounting /opt/foo into /opt/foo on the minikubeVM
This daemon process needs to stay alive for the mount to still be accessible...
ufs starting
在另一个窗口中,我查看minikube虚拟机

$ minikube ssh -- sudo ls -la /opt/foo
total 0
drwxrwxr-x 2 root root 0 Jun  1 14:44 .
drwxr-xr-x 5 root root 0 Jun  1 14:44 ..
是否还需要另一个步骤来访问该目录中的文件


仅供参考-用例是一个容器进程,创建主机进程正在获取的文件。因此,我不想使用nfs或PersistentVolumes。主持人是Centos7。minikube版本:v0.19.0。

问题在于防火墙,在Ubuntu中,这对我来说很有效:

sudo ufw allow in on virbr1
sudo ufw reload
但是您需要通过
ifconfig
找到正确的接口名称

在我的例子中,我使用了
minikube ip
来实现接口是
virbr1


我找到了解决方案,因为在过去,我与docker之间存在连接问题,这一问题通过docker上的sudo ufw allow in得到解决。0

ip r g$(minikube ip)| awk'{print$3}'| head-n1 | xargs sudo ufw允许进入
sudo ufw重新加载
这将获取minikube ip,查找接口并将其添加到防火墙规则中


希望这对任何人都有帮助。谢谢Leo。

对于类似的文件夹,它对我来说效果很好,比如我的问题:这完全解决了我的安装问题这完全解决了我的安装问题