docker-composecaching运行结果

我遇到了一个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主页上找不到任何文件。

编辑:具体来说,我正在使用这个惊人的杰西回购 。

您正在使用的图像是使用volume来安装您的当前目录。 基本上文件conf.opvn被复制到docker容器。 当你改变文件时,容器看不到这个改变,但是它确实取得了重命名(容器看作是一个新文件)。 这很可能是由于该文件的用户权限和该文件所在的泊坞窗容器中的文件夹的用户权限。 尝试在开始过程之前将文件的权限更改为777,然后再次检查。

你可以在docker的官方论坛上find关于这个的讨论