我已经按照this教程进行操作,并通过Docker在postgres中运行keycloak。由于前端应用程序已经在使用端口8080,因此它改用了9990。 如日志所述:
13:26:00,602信息[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
上监听
但是,当我通过浏览器访问这些URL时,什么也没有发生。我也尝试过去http://127.0.0.1:9990/auth/admin/,但没有成功。当我尝试连接时,密钥斗篷控制台中什么也没显示。
我已按照本教程进行操作,没有任何其他设置。怎么了?
首先,我创建一个用户定义网络:
码头工人网络创建密钥斗篷网络
然后我运行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
答案 0 :(得分:2)
您需要发布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管理界面将在以下位置提供:
http://<ip of the host machine\>:9990/
https://<ip of the host machine\>:9991/
(在这种情况下,将生成自签名证书,因此您需要在浏览器中批准TLS例外)答案 1 :(得分:1)
如果像我这样的人将通过尽快安装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
在最后一个命令中提供数据库用户名和密码。