You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Docker-образ не собирается на сервере Jenkins: runc can't mask dir /proc/acpi #1752
С develop #13 (23.09) этап Build v2 падает на первом же RUN (лог #16):
runc run failed: unable to start container process: error during container init: can't mask dir "/proc/acpi": mount src=tmpfs, dst=/proc/acpi, flags=MS_RDONLY, data=nr_blocks=1,nr_inodes=1: invalid argument
Образ собирает buildx-сборщик на драйвере docker-container, то есть шаги запускает runc внутри контейнера moby/buildkit. В #13 этот контейнер создался заново из moby/buildkit:buildx-stable-1, сейчас это v0.32.2 с runc 1.4.3. Начиная с этой версии runc закрывает каталоги в /proc пустым tmpfs с nr_inodes=1, а штатное ядро 5.4 из Ubuntu 20.04 такое монтирование не принимает: opencontainers/runc#5348. В runc это исправлено в 1.5.1, но buildkit с ним пока не вышел, в v0.33.0 тоже 1.4.3. Linux Build и Linux testing на этом же сервере проходят: их контейнеры запускает runc самого docker.
Про Ubuntu 20.04 я сужу только по ошибке, доступа к серверу у меня нет. Проверить можно командой uname -r на хосте (если Jenkins в контейнере, то на хосте, а не в контейнере).
Пока это не починено, evilbeaver/onescript:dev не обновляется с 18.09, а при выпуске из release/latest образ тоже не соберется.
Что можно сделать на сервере:
поставить HWE-ядро 5.15 (linux-generic-hwe-20.04) и перезагрузиться. По разбору в runc#5348 в ядрах 5.15+ этой проверки нет, но на HWE я не проверял;
обновить ОС до 22.04 или 24.04. У 20.04 закончилась стандартная поддержка, но на сервере еще и сайт;
дождаться buildkit с runc 1.5.1+, удалить старый сборщик, и следующая сборка скачает новый образ.
Временный обход в Jenkinsfile — закрепить buildkit v0.30.0 (runc 1.3.5, до регрессии): #1753.
До 4c25637 образ по сути не собирался: все шаги RUN брались из кэша сборщика, CACHED в develop #9–#12 и в release/latest #29 (там собирался 2.2.0). Контейнеры не запускались, runc не вызывался. Из-за этого в образах и оставалась старая версия движка, поэтому в #1743 добавлен --no-cache, и теперь RUN выполняются по-настоящему.
Кроме того, между #12 (18.09) и #13 (23.09) докер на сервере, похоже, чистили: в #13 заново скачались все образы (onescript-builder:gcc, node, dotnet/sdk), а контейнер buildkit создался с нуля из свежего buildx-stable-1. Так что откат --no-cache уже не поможет: кэша, скорее всего, нет, и первая сборка упадёт так же.
Activity
EvilBeaver commentedon Sep 26, 2026
почему до коммита 4c25637 все собиралось?
sfaqer commentedon Sep 27, 2026
До 4c25637 образ по сути не собирался: все шаги
RUNбрались из кэша сборщика,CACHEDв develop #9–#12 и в release/latest #29 (там собирался 2.2.0). Контейнеры не запускались, runc не вызывался. Из-за этого в образах и оставалась старая версия движка, поэтому в #1743 добавлен--no-cache, и теперьRUNвыполняются по-настоящему.Кроме того, между #12 (18.09) и #13 (23.09) докер на сервере, похоже, чистили: в #13 заново скачались все образы (
onescript-builder:gcc,node,dotnet/sdk), а контейнер buildkit создался с нуля из свежегоbuildx-stable-1. Так что откат--no-cacheуже не поможет: кэша, скорее всего, нет, и первая сборка упадёт так же.CI: временно закрепить buildkit v0.30.0 для Docker-образов