Keycloak Docker 映像基本 unix 命令不可用

时间:2021-05-14 18:27:07

标签: docker keycloak redhat

我通过运行使用 docker 镜像 .ymljboss/keycloak:9.0.0 文件设置了我的 Keycloak 识别服务器。

现在我想进入容器并修改一些文件以进行一些测试。

不幸的是,在我进入正在运行的容器后,我意识到一些非常基本的 UNIX 命令,如 sudovi(以及更多)找不到 (以及像 apt-getyum 这样的命令,我用来下载命令包但失败了)。

关于 this question,似乎容器的底层操作系统(Redhat Universal Base Image)使用命令 microdnf 来管理软件,但不幸的是< /strong> 当我尝试使用此命令执行任何操作时,我收到以下消息:

<块引用>

错误:创建失败:/var/cache/yum/metadata

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

1 个答案:

答案 0 :(得分:2)

看起来您正在尝试在 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