当我在 docker 容器中运行 cloc 时,与独立运行相比,它似乎不会递归搜索给定的目录。
Dockerfile:
FROM python:3.6.2-alpine3.6
VOLUME "/data"
WORKDIR /data
RUN apk --no-cache add cloc=1.72-r2
在没有 docker 容器的情况下运行 cloc 我得到以下信息:
cloc src\main\java\ --by-file --unix --report-file=temp.csv
19 text files.
19 unique files.
12 files ignored.
Wrote temp.csv
使用 docker 容器运行它时,会发生以下情况:
docker run --rm -it -v C:\repos\code-repository\:/data cloc-image cloc src/main/java --by-file --unix --report-file=/data/temp2.csv
0 text files.
0 unique files.
2 files ignored.
有任何想法吗?我有:
- 检查了 docker 容器(root)中用户的权限。
- 使用
ash
我检查了容器内部是否正确映射了卷,并且所有文件都存在。 - 检查容器内的 cloc 版本是否确实与本地安装相同(均为 1.72)。
编辑1:
有趣的发现,这种行为只在 Windows 上显示,相同的 Dockerfile/container 在 linux 机器上运行良好。