我正在创建一个带有官方keycloak docker映像扩展名的自定义Dockerfile。我想更改Web上下文并添加一些自定义提供程序。 这是我的Dockerfile:
FROM jboss/keycloak:7.0.0
COPY startup-config.cli /opt/jboss/tools/cli/startup-config.cli
RUN /opt/jboss/keycloak/bin/jboss-cli.sh --connect --controller=localhost:9990 --file="/opt/jboss/tools/cli/startup-config.cli"
ENV KEYCLOAK_USER=admin
ENV KEYCLOAK_PASSWORD=admin
和startup-config.cli文件:
/subsystem=keycloak-server/:write-attribute(name=web-context,value="keycloak/auth")
/subsystem=keycloak-server/:add(name=providers,value="module:module:x.y.z.some-custom-provider")
不幸的是,我收到这样的错误:
The controller is not available at localhost:9990: java.net.connectexception: WFLYPRT0053: Could not connect to remote+http://localhost:9990. The connection failed: WFLYPRT0053: Could not connect to remote+http://localhost:9990. The connection failed: Connection refused
The command '/bin/sh -c /opt/jboss/keycloak/bin/jboss-cli.sh --connect --controller=localhost:9990 --file="/opt/jboss/tools/cli/startup-config.cli"' returned a non-zero code: 1
这是无效的本地主机问题吗?我应该如何参考管理API?
编辑:我也尝试使用ENTRYPOINT
而不是RUN
,但是在容器初始化期间发生了相同的错误。