前言:最近通过jhipster框架了解到Keycloak,然后自己研究通过docker-compose+mysql在自己本地部署keycloak,经过几天的研究在此记录查漏补缺提升自己的理解,如果有什么不对,请底下留言我争取改正。
参考网址:
https://github.com/keycloak/keycloak-containers/blob/master/server/README.md —— jboss/keycloak镜像配置参数讲解
https://docs.docker.com/compose/install/ ——docker-compose 下载地址
https://www.jianshu.com/p/2217cfed29d7——docker-compose 文件配置讲解
配置:
version: '2'services:
mysql:
image: mysql:5.7volumes:
- ./mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=keycloak
- MYSQL_USER=keycloak
- MYSQL_PASSWORD=123456ports:
-3306:3306networks:
keycloak-network:
keycloak:
image: jboss/keycloak:10.0.0command:
['-b','0.0.0.0','-Dkeycloak.migration.action=import','-Dkeycloak.migration.provider=dir','-Dkeycloak.migration.dir=/opt/jboss/keycloak/realm-config','-Dkeycloak.migration.strategy=OVERWRITE_EXISTING','-Djboss.socket.binding.port-offset=1000','-Dkeycloak.profile.feature.upload_scripts=enabled',
]
volumes:
- ./realm-config:/opt/jboss/keycloak/realm-config
networks:
keycloak-network:
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
- DB_VENDOR=MYSQL
- DB_ADDR=mysql
- DB_DATABASE=keycloak
- DB_USER=keycloak
- DB_PASSWORD=123456ports:
-9080:9080-9443:9443-10990:10990depends_on:
- mysql
networks:
keycloak-network:
部署步骤:
我使用的Centos7,首先要去下载Docker-compos(注意要先下载docker),然后参考以下步骤安装。
1、sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose2、sudo chmod +x /usr/local/bin/docker-compose3、docker-compose --version
新建文件 keycloak.yml,把上面内容拷贝keycloak.yml文件中执行docker-compose -f keycloak.yml up 或者 docker-compose -f keycloak.yml up -d
访问 ip:9080出现如下界面就代表成功了