繁体   English   中英

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

[英]Keycloak Docker image basic unix commands not available

我通过运行一个使用 docker 图像jboss/keycloak:9.0.0.yml文件设置了我的 Keycloak 识别服务器。

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

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

根据这个问题,容器的底层操作系统( Redhat Universal Base Image )似乎使用命令microdnf来管理软件,但不幸的是,当我尝试使用此命令执行任何操作时,我收到以下消息:

错误:无法创建:/var/cache/yum/metadata

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

如果出于某种原因,您仍然想执行到容器中,请尝试向您添加--user root docker exec command exec

只需执行:在没有--user的情况下进入容器将以用户jboss的身份执行,该用户似乎拥有较少的特权。

看起来您正在尝试在 docker 世界中使用非 docker(老派)世界的方法。 那是不对的。 通常,您不需要 go 到容器并在那里编辑任何配置文件 - 该更改很可能会丢失(这取决于容器配置)。 容器通常通过环境变量或卷进行配置。

如何使用 TLS 证书的示例: 需要 Keycloak Docker HTTPS

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM