docker-compose缓存运行结果

时间:2016-01-25 18:39:05

标签: docker docker-compose

我遇到了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

1 个答案:

答案 0 :(得分:0)

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

您可以在official forum of docker

中找到有关此问题的讨论