Записки молодого девопсера
153 subscribers
94 photos
7 files
623 links
Здесь выкладываются различные команды и решения проблем, с которыми приходится сталкиваться, а также интересные статьи и видео из мира IT.
Download Telegram
При запуске команды
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 и все завелось
🤯5👍1
👨‍🔧
🔥9😁5🥴1