4 回答

TA貢獻1790條經驗 獲得超9個贊
首先,它似乎默認使用 standalone-ha.xml 在 docker 容器中。您可以在 /opt/jboss/tools/docker-entrypoint.sh 中找到它。其次,我認為更改配置文件后你必須重新啟動 keycloak 服務器(容器)。
不確定“動態”是什么意思。但是在本地修改文件并構建自定義 docker 鏡像會更容易。Dockerfile 可能如下所示:
FROM jboss/keycloak:6.0.1
ADD <path on your system>/standalone-ha.xml /opt/jboss/keycloak/standalone/configuration/standalone-ha.xml

TA貢獻1824條經驗 獲得超5個贊
如果沒有 jboss-cli,您不能在 docker 鏡像上替換或覆蓋 standalone-ha.xml/standalone.xml。只需要創建一個 sh 文件,放在 startup-script 文件夾中。在初始化期間,它將啟動并配置您的文件。
keycloak-cli
embed-server --server-config=standalone-ha.xml --std-out=echo
batch
/subsystem=keycloak-server:list-add(name=providers, value=module:org.keycloak.examples.event-sysout)
run-batch
stop-embedded-server
文件
FROM jboss/keycloak:latest
COPY keycloak.cli /opt/jboss/startup-scripts/keycloak.cli

TA貢獻1820條經驗 獲得超2個贊
可能有點晚了。但我發現您可以在 dockerfile 上進行編輯。
FROM quay.io/keycloak/keycloak:11.0.0
RUN sed -i -E "s/(<staticMaxAge>)2592000(<\/staticMaxAge>)/\1\-1\2/" /opt/jboss/keycloak/standalone/configuration/standalone.xml
RUN sed -i -E "s/(<cacheThemes>)true(<\/cacheThemes>)/\1false\2/" /opt/jboss/keycloak/standalone/configuration/standalone.xml
RUN sed -i -E "s/(<cacheTemplates>)true(<\/cacheTemplates>)/\1false\2/" /opt/jboss/keycloak/standalone/configuration/standalone.xml
RUN sed -i -E "s/(<staticMaxAge>)2592000(<\/staticMaxAge>)/\1\-1\2/" /opt/jboss/keycloak/standalone/configuration/standalone-ha.xml
RUN sed -i -E "s/(<cacheThemes>)true(<\/cacheThemes>)/\1false\2/" /opt/jboss/keycloak/standalone/configuration/standalone-ha.xml
RUN sed -i -E "s/(<cacheTemplates>)true(<\/cacheTemplates>)/\1false\2/" /opt/jboss/keycloak/standalone/configuration/standalone-ha.xml
參考: https: //github.com/anthonny/kit-keycloak-theme/blob/master/Dockerfile

TA貢獻1783條經驗 獲得超4個贊
你應該去那個正在運行的 docker 容器并在那里進行更改。最好的是,使用 Kitematic 之類的 docker 管理器
選擇正在運行的keycloak容器,點擊EXEC圖標,cd keycloak/standalone/configuration, vi standalone.xml, :wq退出,通過Kitematic重啟docker鏡像,應該可以了
添加回答
舉報