Было задано несколько вопросов , но ни решения, ни предложения не работают для меня. Я использую докер manjarolinux. Образ устанавливает большую часть материала в файле докеров:
FROM manjarolinux/base
RUN pacman-mirrors -g
RUN pacman -Syy
RUN rm -fr /etc/pacman.d/gnupg
RUN pacman-key --init
RUN pacman-key --populate archlinux
RUN pacman-key --populate manjaro
# RUN pacman-key --refresh-keys
RUN pacman -Syyu --noconfirm
RUN pacman -S --noconfirm gnupg
RUN pacman -Fyy --noconfirm
RUN pacman -Sy --noconfirm vim git gzip yay # this line
RUN pacman -Sy --noconfirm sudo fakeroot make
RUN pacman -Sy --noconfirm gcc clang
RUN groupadd sudo wheel
RUN useradd -m -d /home/manjarouser -s /bin/zsh -g sudo wheel manjarouser
USER manjarouser
Однако после строки, отмеченной this line, сборка просто зависает:
@Braiam, я не использую buildkit.
Запустите сборку с помощью DOCKER_BUILDKIT=0, вы увидите, что этого не происходит.
@ Брайам. если вы имели в виду DOCKER_BUILDKIT=0 docker build -t cpp-docker ., то он как-то не работает. Возможно, я что-то делаю не так?
У меня все работало нормально, даже с buildkit, вплоть до шага groupadd. Предположение, что что-то не так с хост-средой. (дисковое пространство? поврежденный базовый образ? сеть?)


@ d4rk4ng31, мой пользовательский док-контейнер Archlinux делал то же самое в процессе сборки. Я не смог определить точную причину, но она возникает из-за хука после транзакции в systemd (/usr/bin/systemd-tmpfiles --create). Если бы вы запустили базовый контейнер с помощью docker run -it --rm manjarolinux/base bash и выполнили эту команду, он бы повесил ваш контейнер.
В моем случае это произошло потому, что я использовал archlinux/base, который сейчас устарел. Простое изменение на следующее исправило мою проблему:
FROM archlinux
Я хотел бы проверить, существует ли аналогичная проблема устаревания с Manjaro.
Значит, мне следует переключиться на FROM manjarolinux?
Просто не используйте buildkit. Это происходит только при использовании buildkit, см. github.com/moby/buildkit/issues/1267