docker - Keycloak Docker 镜像基本 unix 命令不可用

标签 docker keycloak redhat

我已经通过运行 .yml 设置了我的 Keycloak 识别服务器使用 docker 镜像的文件 jboss/keycloak:9.0.0 .
现在我想进入容器并修改一些文件以进行一些测试。
不幸的是,当我进入正在运行的容器后,我意识到 一些非常基本的 UNIX 命令,如 sudovi (以及更多)未找到 (以及像 apt-getyum 这样的命令,我用来下载命令包但失败了)。
根据 this question ,看来容器的底层操作系统( Redhat Universal Base Image )使用了命令 microdnf管理软件,但 不幸的是当我尝试使用此命令执行任何操作时,我收到以下消息:

error: Failed to create: /var/cache/yum/metadata


您能否为我的案例提出任何解决方法?我只需要使用像 vi 这样的文本编辑器命令,以及我的用户的 root 权限(所以命令如 sudosuchmod )。提前致谢。

最佳答案

看起来您正在尝试在 docker 世界中使用来自非 docker(老派)世界的方法。那是不对的。通常,您无需前往容器并在那里编辑任何配置文件 - 更改很可能会丢失(这取决于容器配置)。容器通常通过环境变量或卷进行配置。
TLS 证书使用示例:Keycloak Docker HTTPS required
https://hub.docker.com/r/jboss/keycloak/检查可用环境变量也是一个很好的起点,这可能会帮助您实现所需。例如 PROXY_ADDRESS_FORWARDING=true启用选项,当您可以在负载均衡器后面运行 Keycloak 容器时,无需接触任何配置文件。
我想说在构建中添加自己的配置文件也不是最好的选择——你必须维护自己的形象。只需使用来自主机操作系统文件系统的您自己的配置文件,在容器中使用卷和“覆盖”默认配置文件,例如:

-v /host-os-path/my-custom-standalone-ha.xml:/opt/jboss/keycloak/standalone/configuration/standalone-ha.xml

关于docker - Keycloak Docker 镜像基本 unix 命令不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67539305/

相关文章:

linux - 如何在 OpenSUSE Linux 上安装和运行 Docker CE?

proxy - Keycloak - 代理背后的 URL 重置密码电子邮件

keycloak - Keycloak 需要数据库吗

c - 当我打开 O_NONBLOCK 时,我得到 "0"和 "I/O error"

linux - rpmbuild 已安装(但未打包)的文件源

docker - 在dockerfile所在目录中添加内容的正确方法是什么?

Docker compose 构建错误 - 项目文件不存在

docker - npm install 在 docker 的 jenkins 管道中失败

java - Keycloak 适配器 pkix 路径构建失败

python - 如何在 OpenShift 上配置 Django?