Summary: | Docker на Loongson не может запустить базовый образ | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Павел <strela034+alt> |
Component: | runc | Assignee: | cow <cow> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | cow, iv, shaba |
Version: | unstable | ||
Hardware: | loongarch64 | ||
OS: | Linux |
Description
Павел
2024-10-30 12:10:53 MSK
> Вероятно, в самом докере отсутствует поддержка для этой архитектуры Не так давно мы успешно собирали и запускали базовый образ по инструкции https://www.altlinux.org/Docker#Сборка_базового_образа_с_использованием_mkimage-profiles Ближе к вечеру попробую ещё раз, может что-то в Сизифе неудачно обновилось. Действительно, работа с seccomp в runc изменилась, надо патчить по-другому. Сейчас попробую починить. Я попробовал собрать через Dockerfile, как вы прислали. Продрался через документацию и mkimage. Собрал тарболл (.tar.gz) и попробовал по инструкции собрать образ: ``` $ docker build --rm --tag=alt:from-mkimage . [+] Building 4.3s (5/5) FINISHED docker:default => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 208B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build context 0.4s => => transferring context: 22.70MB 0.4s => [1/2] ADD docker-latest.tar.xz / 2.8s => ERROR [2/2] RUN true > /etc/security/limits.d/50-defaults.conf 1.0s ------ > [2/2] RUN true > /etc/security/limits.d/50-defaults.conf: 0.258 runc run failed: unable to start container process: error loading seccomp filter into kernel: error patching filter: error generating patch for filter: error finding last syscalls for -ENOSYS stub: unable to get native arch: unrecognized architecture 0xc0000102 ------ Dockerfile:5 -------------------- 3 | ADD docker-latest.tar.xz / 4 | 5 | >>> RUN true > /etc/security/limits.d/50-defaults.conf 6 | 7 | # overwrite this with 'CMD []' in a dependent Dockerfile -------------------- ERROR: failed to solve: process "/bin/sh -c true > /etc/security/limits.d/50-defaults.conf" did not complete successfully: exit code: 1 ``` Результат тот же, что и при ручном (через docker import) включении, только оно сломалось ещё на этапе сборки образа. > Я попробовал собрать через Dockerfile, как вы прислали.
[...]
Спасибо. Такую ошибку воспроизвёл, исправление тестирую.
Прошу мейнтейнера пропустит задачу c исправлением: https://git.altlinux.org/tasks/361175/ Я то везде использую crun. С ним пробовали? Итак, проблема была в пакете runc, у которого отвалились наши патчи для поддержки loongarch64, и никто не заметил, что надо бы сделать и приложить другие патчи. На будущее мы внесём докерные пакеты в список того, что мы тестируем перед приёмом в sisyphus_loongarch64. Исправление будет доступно в sisyphus_loongarch64 завтра, после синхронизации репозиториев (04:00 MSK). Вам понадобится runc 1.2.0-alt1.0.port или более свежий. (In reply to Alexey Shabalin from comment #6) > Я то везде использую crun. С ним пробовали? Ну, runc у нас по умолчанию, и единственный сконфигурированный из коробки. Даже как настроить использование crun в docker надо догадываться. Допишешь на wiki? Но да, с crun, похоже, работает. runc-1.2.0-alt1.1 -> sisyphus: Wed Oct 30 2024 Ivan A. Melnikov <iv@altlinux> 1.2.0-alt1.1 - NMU: fix loongarch64 support (ALT#51885) + backport upstream patch from libseccomp-golang upstream + add a similar fix for libcontainer Подтверждаю, что починилось. Спасибо! |