Записки молодого девопсера
При запуске команды
find . -type f -name '*Dockerfile*' | xargs hadolint --failure-threshold warning --format json > report.json
CI выдавал следующий output
/proc/self/exe
Начали проверять локально - та же самая ситуация - и exit code 123.
Сначала подумали, что это опять приколы MUSL и не GNU-утилит в alpine (find и grep), но проблема была даже при запуске hadolint без аргументов. При этом запуск контейнера от рута работает без ошибок. Потом грешили на cgroups v2 - что не хватает разрешений на запуск утилиты. В issues hadolint ничего подробного не нашлось.
Потом я запустил strace. В начале вывода увидел строчку
readlink("/proc/self/exe", "/usr/local/bin/hadolint", 4095) = 23
и стал копать в эту сторону.
readlink стоит в alpine из коробки в составе busybox (это multi-call binary).
Я поставил coreutils с GNU-той версией readlink и все завелось
1 · 601 ·