FROM alpine:3.16.9 # Метаданные для CI/CD LABEL maintainer="Alexander Zhirov " LABEL version="0.1.0" LABEL description="Адаптированный для Docker >=27.3.1 образ сборщика APK-файлов для Alpine Linux 3.16.9" # Задаем стандартные значения через переменные окружения ENV USER=builder \ PACKAGE_DIR=/package \ NFS_SERVER= \ NFS_PATH= \ PRIVATE_KEY= \ PUBLIC_KEY= \ REPODEST_DIR= # Копируем скрипт запуска в контейнер COPY --chmod=0755 ../apk-build /usr/bin/apk-build # Устанавливаем необходимые пакеты для сборки APK и NFS RUN < /etc/apk/repositories echo "http://mirror.yandex.ru/mirrors/alpine/v3.16/community" >> /etc/apk/repositories apk update apk upgrade --no-cache apk add --no-cache alpine-sdk abuild sudo git nfs-utils adduser -D builder addgroup builder abuild echo "builder ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/builder EOF # Переключаемся на пользователя builder USER builder # Создаем рабочую директорию WORKDIR /home/builder/package # Указываем точку входа для CI/CD ENTRYPOINT ["/usr/bin/apk-build"] # Указываем команду по умолчанию с переменными окружения CMD ["-p", "/package"]