docker - 无法连接到 keycloak 管理面板
问题描述
我已经按照本教程通过 Docker 使用 postgres 运行 keycloak。由于我的前端应用程序已经在使用端口 8080,因此它使用了 9990。正如日志所说:
13:26:00,602 INFO [org.jboss.as](控制器引导线程)WFLYSRV0060:在http://127.0.0.1:9990/management上监听的 Http 管理接口
13:26:00,603 INFO [org.jboss.as](控制器引导线程)WFLYSRV0051:管理控制台监听http://127.0.0.1:9990
但是当我通过浏览器访问这些网址时,什么也没有发生。我也试过去http://127.0.0.1:9990/auth/admin/但它不起作用。当我尝试连接时,我的 keycloak 控制台中没有显示任何内容。
我已经按照教程进行操作,没有任何其他设置。怎么了?
首先我创建一个用户定义网络:
码头工人网络创建密钥斗篷网络
然后我运行 postgres:
docker run -d --name postgres --net keycloak-network -e POSTGRES_DB=keycloak -e POSTGRES_USER=keycloak -e POSTGRES_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 管理 UI 将在以下位置可用:
http://<ip of the host machine\>:9990/
https://<ip of the host machine\>:9991/
(在这种情况下会生成自签名证书,因此您需要在浏览器中批准 TLS 异常)
推荐阅读
- python - 过采样和欠采样方法是否适合构建好的模型?
- c# - Azure Cosmos DB (SQL API)。之后可以索引使用 IndexingDirective.Exclude 插入的文档吗?
- react-native - 如果服务器返回错误,则使用 rn-fetch-blob 的 React Native 应用程序崩溃
- html - 使用 flex 对齐图像文本和子文本
- node.js - 谷歌电子表格 npm 覆盖行而不是追加
- javascript - 每行和每列的 Angular X 项
- testng - 测试后清除覆盖的 testContext 值
- c# - 为什么 XElement 将我的新 XElement 添加到错误的位置
- c++ - C++ 实时屏幕捕获
- php - Laravel 选择了错误的数据库