在jboss/keycloft上安装软件包



在本地运行jboss/keycloak容器时,我会尝试添加更多软件。

到目前为止,我已经尝试过:

~# yum install jq
bash: yum: command not found
~# apt-get install jq
apt-get: command not found

有人知道我怎样才能安装更多的软件吗?

# uname -a
Linux 935559ef2e4c 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

更新#1

看起来microdnf是我必须使用的,但我仍然会遇到错误:

root@276cdd5cc962 /]# microdnf update -y
(microdnf:1614): librhsm-WARNING **: 20:38:39.628: Found 0 entitlement certificates
(microdnf:1614): librhsm-WARNING **: 20:38:39.630: Found 0 entitlement certificates
(microdnf:1614): libdnf-WARNING **: 20:38:39.630: Loading "/etc/dnf/dnf.conf": IniParser: Can't open file
Downloading metadata...
Downloading metadata...
Downloading metadata...
Nothing to do.

文件"/etc/dnf/dnf.conf";不存在。

容器本身正在使用RedHats通用基本映像,并且似乎使用microdnf来管理软件。

检查jboss/keycloft的dockerfile(https://hub.docker.com/r/jboss/keycloak/dockerfile)检查它是如何完成的。有趣的部分是:

RUN microdnf update -y && microdnf install -y glibc-langpack-en gzip hostname java-11-openjdk-headless openssl tar which && microdnf clean all

因此,您可以尝试使用microdnf命令添加其他软件。

一个更好的解决方案可能是从jboss/keycloft中创建自己的Dockerfile来添加额外的软件。

请参阅https://www.keycloak.org/server/containers对于钥匙斗篷21.1.X:"安装额外的RPM软件包

如果您尝试在FROM quay.io/keycapture/keycapture阶段安装新软件,您会注意到microdnf、dnf甚至rpm都没有安装。此外,可用的软件包非常少,只够bash shell和运行Key斗篷本身。这是由于采取了安全加固措施,减少了Keycloft容器的攻击面">

最新更新