Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Minikube mount不';当主机上的文件更改时,不要通知容器_Docker_Kubernetes_Minikube - Fatal编程技术网

Docker Minikube mount不';当主机上的文件更改时,不要通知容器

Docker Minikube mount不';当主机上的文件更改时,不要通知容器,docker,kubernetes,minikube,Docker,Kubernetes,Minikube,我正在使用minikube mount将文件系统从主机装载到minikube,然后再装载到容器(pod)。当我在容器中执行tail-f文件并从主机更改文件时,我看不到更改。但是,当我关闭尾部并再次运行它时,它会再次从文件系统读取文件并正常工作 我正在使用Debian(主机)、VirtualBox和minikube 0.25.2 有人知道原因是什么吗 我猜您是使用VIM之类的编辑器编辑了文件。如果我错了,请纠正我 VIM不会就地更改文件,而是将内容保存到新文件中,并复制新文件以覆盖旧文件。这打破了

我正在使用
minikube mount
将文件系统从主机装载到minikube,然后再装载到容器(pod)。当我在容器中执行
tail-f文件
并从主机更改
文件
时,我看不到更改。但是,当我关闭
尾部
并再次运行它时,它会再次从文件系统读取文件并正常工作

我正在使用Debian(主机)、VirtualBox和minikube 0.25.2


有人知道原因是什么吗

我猜您是使用VIM之类的编辑器编辑了
文件。如果我错了,请纠正我

VIM不会就地更改文件,而是将内容保存到新文件中,并复制新文件以覆盖旧文件。这打破了基于inode和inotify功能的装载机制

您可以看到inode的更改:

$ stat testfile
... Inode: 1181459
$ vim testfile    # and do some change
$ stat testfile
... Inode: 1181460
默认情况下,使用Linux虚拟机在内部执行Docker安装。 由于限制,装载的资源不会直接指向目标。 它可能会导致minikube vm在文件系统级别损坏


您可能需要考虑使用--vm driver=none运行minikube。

正确,将vm驱动程序更改为
none
修复了该问题。