首页 > 解决方案 > 在主机上编辑 docker 卷数据而不在容器内更改?

问题描述

我正在docker环境中制作应用程序。(工具箱)我通过共享卷在本地 PC 上工作。编辑js文件时,不能在网站上修改。但是,我可以在 docker 容器中将 js 文件更改为 vi。

缓存似乎不是原因。是什么原因???

标签: javascriptdockervimdocker-volume

解决方案


不要从容器外部编辑。这是mount的限制。

如果您使用的是 vim 之类的编辑器,当您保存文件时,它不会直接保存文件,而是会创建一个新文件并将其复制到位。这会破坏基于 inode 的绑定挂载。由于保存文件有效地更改了 inode,因此更改不会传播到容器中。当容器重新启动时,新的 inode。如果您在适当的位置编辑文件,您应该会看到更改传播。

这是文件挂载的已知限制,无法修复。

取自github 评论

github上的已知问题


推荐阅读