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