[英]Keycloak Docker image basic unix commands not available
我通过运行一个使用 docker 图像jboss/keycloak:9.0.0
的.yml
文件设置了我的 Keycloak 识别服务器。
现在我想进入容器并修改一些文件以进行一些测试。
不幸的是,在我进入正在运行的容器后,我意识到没有找到一些非常基本的 UNIX 命令,如sudo
或vi
(以及更多) (以及我用来下载命令包的命令,如apt-get
或yum
并失败了)。
根据这个问题,容器的底层操作系统( Redhat Universal Base Image )似乎使用命令microdnf
来管理软件,但不幸的是,当我尝试使用此命令执行任何操作时,我收到以下消息:
错误:无法创建:/var/cache/yum/metadata
您能否为我的案例提出任何解决方法? 我只需要使用像vi
这样的文本编辑器命令,以及我的用户的 root 权限(所以像sudo
、 su
或chmod
这样的命令)。 提前致谢。
如果出于某种原因,您仍然想执行到容器中,请尝试向您添加--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.