docker-撰写缓存 运行 结果

docker-compose caches run results

我在使用 docker-compose 时遇到问题,我将文件传递到容器中时 运行。问题是它似乎无法识别文件何时更改并无限期地返回保存的结果,直到我更改文件名。

示例(为简洁起见修改名称):

jono@macbook:~/myProj% docker-compose run vpn conf.opvn 
Options error: Unrecognized option or missing parameter(s) in conf.opvn:71: AXswRE+
5aN64mYiPSatOACC6+bISv8RcDPX/lMYdLwe8zQY6qWtbrjFXrp2 (2.3.8)

然后我更改文件,保存它,然后再次 运行 命令 - 完全相同的输出。

然后在不改变任何东西的情况下我这样做:

jono@macbook:~/myProj% cp conf.opvn newconf.opvn

当我 运行 $ docker-compose run vpn newconf.opvn 它起作用了。看起来真的很傻。

我正在使用 Tmux 和 Mac 如果有某种方式影响它。这是预期的行为吗?我在 docker-compose homepage.

上找不到任何对此进行记录的内容

编辑: 具体来说,我正在使用 Jess 的 this repo

您正在使用的映像正在使用 volume 以便挂载您的当前目录。基本上文件 conf.opvn 被复制到 docker 容器。 当您更改文件时,容器看不到该更改,但它会选择重命名(容器将其视为新文件)。这很可能是由于文件的用户权限和安装此文件的 docker 容器中的文件夹的用户权限。在开始该过程之前尝试将文件的权限更改为 777,然后再次检查。

您可以在 official forum of docker

中找到关于此的讨论