半小时搭建keycloak环境,构建强大的用户中心

第一步: 安装JDK

第二步: 安装Docker

第三步: 部署 keycloak

写一个dockerfile

# docker file
FROM quay.io/keycloak/keycloak:19.0.3 as builder

# Enable health and metrics support
ENV KC_HEALTH_ENABLED=true     # 设置健康检查启用标志为true
ENV KC_METRICS_ENABLED=true    # 设置指标监控启用标志为true

# Configure a database vendor
ENV KC_DB=mysql    # 设置数据库类型为mysql

WORKDIR /opt/keycloak

# for demonstration purposes only, please make sure to use proper certificates in production instead
# 仅用于演示目的,请确保在生产环境中使用正确的证书
RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore

RUN /opt/keycloak/bin/kc.sh build    # 运行Keycloak的构建命令

FROM quay.io/keycloak/keycloak:19.0.3
COPY --from=builder /opt/keycloak/ /opt/keycloak/

# change these values to point to a running postgres instance
# 将这些值更改为指向正在运行的postgres实例
ENV KC_DB=mysql    # 设置数据库类型为mysql
ENV KC_DB_URL=jdbc:mysql://你的IP:3306/keycloak21?characterEncoding=UTF-8&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&useSSL=false    # 设置数据库连接URL
ENV KC_DB_USERNAME=***  # 设置数据库用户名
ENV KC_DB_PASSWORD=****   # 设置数据库密码
ENV KC_HOSTNAME=localhost    # 设置Keycloak的主机名
ENTRYPOINT ["/opt/keycloak/bin/kc.sh"]    # 设置入口点为Keycloak的启动脚本

下载现有镜像

sudo docker pull quay.io/keycloak/keycloak:19.0.3

打包自定义镜像

#构建
cd /home/ubuntu/server/keycloak
sudo docker build -f dockerfile -t mykeycloak .  
 
#移除旧的:
sudo docker rm -f mykeycloak

#运行:
sudo docker run --name mykeycloak -p 8445:8443 -p 8182:8080 -e KC_HOSTNAME=你的IP -e KC_HOSTNAME_PORT=8182 -e PROXY_ADDRESS_FORWARDING=true  -e KC_PROXY=edge -e KC_DB=mysql -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin  -e KC_DB_DRIVER=com.mysql.cj.jdbc.Driver  -e KC_TRANSACTION_XA_ENABLED=false mykeycloak start-dev --features=token-exchange  --db-url=jdbc:mysql://你的IP:3306/keycloak21?useSSL=false --db-username=******  --db-password=******  

第四步开防火墙

开启云效的防火墙

ubuntu
1.打开终端命令行。
2.输入以下命令查看本地的端口开启情况。

sudo ufw status

3.再输入以下命令开启,比如打开80端口。

sudo ufw allow 80

4.再输入命令开启防火墙。

sudo ufw enable

5.最后重启防火墙即可。

sudo ufw reload

telnet 你的IP 8182

第五步 测试

http://你的IP/8182

第六步: 开放访问权限

在这里插入图片描述
效果图:
在这里插入图片描述

在这里插入图片描述

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值