无法连接到 keycloak 管理面板

Cannot connect to keycloak admin panel

我已经通过 Docker 学习了 this 教程和 运行 keycloak with postgres。由于端口 8080 已被我的前端应用程序使用,因此它改用 9990。 正如日志所说:

13:26:00,602 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management

13:26:00,603 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990

但是当我通过浏览器访问这些网址时,没有任何反应。我也试过 http://127.0.0.1:9990/auth/admin/ 但没用。当我尝试连接时,我的 keycloak 控制台中没有任何显示。

我在没有任何额外设置的情况下按照教程进行操作。怎么了?

首先我创建一个用户定义网络:

docker network create keycloak-network

然后我运行 postgres:

docker run -d --name postgres --net keycloak-network -e POSTGRES_DB=keycloak -e POSTGRES_USER=keycloak -e POSTGRES_PASSWORD=password postgres

最后是 Keycloak:

docker run --name keycloak --net keycloak-network jboss/keycloak

您需要发布 Keycloak 容器的端口(http 为 8080,https 为 8443)+ 重新映射端口,因为 8080 已在您的计算机上使用。例如:

docker run --rm \
  --name keycloak \
  --net keycloak-network \
  -e KEYCLOAK_USER=myadmin \
  -e KEYCLOAK_PASSWORD=mypassword \
  -p 9990:8080 \
  -p 9991:8443 \
  jboss/keycloak

Keycloak admin UI 将在以下时间可用:

  • http://<ip of the host machine\>:9990/
  • https://<ip of the host machine\>:9991/(在这种情况下会生成自签名证书,因此您需要在浏览器中批准 TLS 例外)

如果像我这样的人会尽快从安装 Keycloak 开始Docker。

在 Docker 上安装 Keycloak 的完整路径,然后可以通过端口 9990 访问 Web UI(您可以在最后一个命令中更改它):

docker network create keycloak-network

docker run -d --name postgres --net keycloak-network -e POSTGRES_DB=keycloak -e POSTGRES_USER=keycloak -e POSTGRES_PASSWORD=password postgres

docker run --rm --name keycloak --net keycloak-network -e KEYCLOAK_USER=myadmin -e KEYCLOAK_PASSWORD=mypassword -e DB_USER=keycloak -e DB_PASSWORD=password -p 9990:8080 -p 9991:8443 jboss/keycloak

与 topickstarter 和之前答案的不同之处在于避免了以下错误:

"WFLYCTL0113: '' is an invalid value for parameter user-name

通过在最后一条命令中提供数据库用户名和密码。