Мне нужно расширить образ докера keycloak для некоторых дополнительных приложений, таких как curl и jq. Но на образе quay.io/keycloak/keycloak не установлен какой-либо менеджер пакетов, и я не могу найти, какой базовый образ использовался для сборки.
Мой подход заключается в использовании многоэтапной сборки. Но это не работает, потому что я не знаю, из какого базового изображения было получено.
FROM fedora as builder
RUN dnf update -y && dnf install -y curl
FROM quay.io/keycloak/keycloak:latest
COPY --from=builder /usr/bin/curl /bin/curl
Кто-нибудь знает, как установить приложение в образ докера keycloak? Или где-нибудь есть репозиторий git для фактического изображения keycloak?
Спасибо.
Я хочу использовать curl в качестве проверки работоспособности, а jq необходим для некоторых конфигураций после запуска keycloak. Он создает область и клиента и так далее. Это для тяжелой автоматизации. Он будет настроен для разных сред.
Правильный путь описан здесь: конфиг контейнера
FROM registry.access.redhat.com/ubi9 AS ubi-micro-build
RUN mkdir -p /mnt/rootfs
RUN dnf install --installroot /mnt/rootfs jq curl \
--releasever 9 --setopt install_weak_deps=false --nodocs -y; \
dnf --installroot /mnt/rootfs clean all
Если в образе Keycloak нет диспетчера пакетов, вероятно, это минимальный образ, содержащий только абсолютный минимум, необходимый для запуска приложения (это довольно распространенная настройка в образах, ориентированных на производство). Кажется необычным, что приложению нужно будет вызывать
curl
илиjq
, поскольку большинство языков включают HTTP-клиенты и библиотеки JSON; зачем вам специально добавлять их в образ Keycloak?