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