Cloc не выполняет рекурсивный поиск в контейнере Docker
Когда я запускаю cloc внутри docker-контейнера, он, кажется, не рекурсивно просматривает данные каталоги по сравнению с его автономным выполнением.
Dockerfile:
FROM python:3.6.2-alpine3.6
VOLUME "/data"
WORKDIR /data
RUN apk --no-cache add cloc=1.72-r2
Запустив cloc без docker-контейнера, я получаю следующее:
cloc src\main\java\ --by-file --unix --report-file=temp.csv
19 text files.
19 unique files.
12 files ignored.
Wrote temp.csv
При запуске его с док-контейнером происходит следующее:
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.
Есть идеи? Я имею:
- Проверил права пользователя в докере контейнера (root).
- С помощью
ash
Я проверил внутри контейнера, правильно ли отображен том, и все ли файлы присутствовали. - Проверяется, действительно ли версия cloc внутри контейнера действительно совпадает с версией локальной установки (обе версии 1.72).
РЕДАКТИРОВАТЬ 1:
Интересно, что такое поведение проявляется только в Windows, тот же Dockerfile/ контейнер отлично работает на Linux-машине.
0 ответов
Я столкнулся с той же проблемой на debian:stretch
контейнер на Docker для Windows, где том cloc
был запущен против был локальный каталог. Решение было добавить --follow-links
в cloc
:
$ cloc .
# Only returned results of top-level directory
Fix:
$ cloc --follow-links .
# Included nested files