1. 基础依赖
a. docker  mysql
b. dokcer keycloak-mysql
 
2. 安装
 
  mysql (注意实际使用最好使用本地数据卷)
docker run  --name mysql -e MYSQL_DATABASE=keycloak -e MYSQL_USER=keycloak -e MYSQL_PASSWORD=password -e MYSQL_ROOT_PASSWORD=root -d mysql
 
 keycloak-mysql 
docker run  -d --name keycloak  -p:8084:8080 --link mysql:mysql -e MYSQL_DATABASE=keycloak -e MYSQL_USERNAME=keycloak -e MYSQL_PASSWORD=password  -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak-mysql
 
3. 配置
    因为模式是使用的https 所以需要进行登录系统修改
    登录数据库进行修改
  
docker exec -it mysql /bin/sh
mysql -uroot -proot
use keycloak
update REALM set ssl_required='NONE' where id = 'master'
docker stop keycloak && docker start keycloak or (docker restart keycloak)
 
        
   4. 界面 
 登录界面

 
操作界面

 
5. spring boot  使用
   参考Git 项目例子 中的spring boot 
https://github.com/keycloak/keycloak-quickstarts
 
   结合的例子  
service-springboot-rest
app-springboot
 
  修改配置
  service-springboot-rest
server.port = 8081
keycloak.realm= quickstart
keycloak.auth-server-url= http://xxxxxxxx:8084/auth
keycloak.ssl-required= none
keycloak.resource= product-service
keycloak.public-client= true
keycloak.securityConstraints[0].authRoles[0] = user
keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /products
 
app-springboot
server.connection-timeout=5000
spring.freemarker.cache=false
server.port = 8080
keycloak.realm=quickstart
keycloak.auth-server-url=http://xxxxxx:8084/auth
keycloak.ssl-required=none
keycloak.resource=app-springboot
keycloak.public-client=true
product.service.url=http://localhost:8081/products
 
 备注: 需要在keycloak 添加对应的user  已经给予用户role 
 登录跳转,查看到的用户session 
 

 
6. 总结
   keycloak 使用起来还是比较简单的,系统集成的功能也是比较多的
 
7. 参考资料
https://github.com/keycloak/keycloak-quickstarts
http://www.keycloak.org/documentation.html
https://github.com/rongfengliang/springboot-keycloak
 
 
 
 

keycloak && docker安装 &&spring boot 集成使用的更多相关文章

  1. Lombok安装及Spring Boot集成Lombok

    文章目录 Lombok有什么用 使用Lombok时需要注意的点 Lombok的安装 spring boot集成Lombok Lombok常用注解 @NonNull @Cleanup @Getter/@ ...

  2. Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。

    背景:Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像. 原文地址 https://github.com/weibaohui/springboot ...

  3. Spring Boot集成Hazelcast实现集群与分布式内存缓存

    Hazelcast是Hazelcast公司开源的一款分布式内存数据库产品,提供弹性可扩展.高性能的分布式内存计算.并通过提供诸如Map,Queue,ExecutorService,Lock和JCach ...

  4. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

  5. Spring Boot 2.0(四):使用 Docker 部署 Spring Boot

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...

  6. Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏

    云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新技术是没有必要使用的,但做为学习案例来讲确实是一个绝佳的 Spring ...

  7. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  8. Spring Boot2.0:使用Docker部署Spring Boot

    一.Spring Boot项目添加 Docker 支持1.在pom.xml中添加 Docker 构建插件 <plugins> <!-- Docker maven plugin --& ...

  9. (转)Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏

    http://www.ityouknow.com/springboot/2018/04/02/docker-favorites.html 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring ...

随机推荐

  1. Java结对编程之挑战出题

    Java结对编程之挑战出题 需求分析 需求 对于挑战出题来说最主要的就是要产生的式子并将重复的式子去掉. 设计思路 具体的思路: 思路一: 原先我打算用集合中的元素的不重复性进行去重,这种思路的好处就 ...

  2. Gnostice PDFtoolkit VCL的安装

    Installation and Uninstallation For New Users Close all open applications including the IDE. Run the ...

  3. lua笔记之userdata

    1.一直使用框架里封装好的c库,想着自己一点一点的写些例子,学习下,以后需要c库,可以自己写了. 下边是一个简单的userdata的例子--数组操作. newarray.c #include &quo ...

  4. ElasticSearch性能优化

    一.搜索效率优化 批量提交 当有大量数据提交的时候,建议采用批量提交. 比如在做 ELK 过程中 ,Logstash indexer 提交数据到 Elasticsearch 中 ,batch size ...

  5. 分享:自定义JAVA注解

    元注解 元注解指用来定义注解的注解,例如:@Retention @Target Inherited @Documented等等.最为重要和经常使用的是@Retention @Target. @Rete ...

  6. cmake的使用方法

    4. CMakeLists.txt剖析4.1 cmake_minimum_required命令 cmake_minimum_required (VERSION 2.6) 规定cmake程序的最低版本. ...

  7. Sublime Text C# 编译(csharp.sublime-build)

    制作: 1. 配置环境变量PATH C# 7.0 C:\Program Files (x86)\Microsoft Visual Studio\\Enterprise\MSBuild\15.0\Bin ...

  8. 探索Asp.net mvc 的文件上传

    (转自:http://www.cnblogs.com/n-pei/archive/2010/10/15/1852635.html) 最近因为TeamVideo需要用到视频和图片上传功能,所以试着Goo ...

  9. shell编程学习1

    1.shell是操作系统的终端命令行 (1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式.    (2)我们可以使用shell和操作系统.uboot等软件系统进 ...

  10. Tiny210用户手册笔记

                     核心板 CPU 处理器:  Samsung S5PV210,基于 CortexTM-A8,运行主频 1GHz                       内置 P ...