拉取mysql镜像

docker pull mysql:5.7

拉取keycloak镜像

docker pull jboss/keycloak

创建网络

docker network create -d bridge cloud

docker run --name mysql  --restart=always   --network cloud   -p 3306:3306  -v /usr/local/docker/mysql/conf.d:/etc/mysql/conf.d   -v /opt/docker-mysql/var/lib/mysql:/var/lib/mysql   -e MYSQL_ROOT_PASSWORD=root   -d mysql:5.7

 进入到mysql容器

docker exec -it mysql /bin/sh

mysql -uroot -proot

创建用户授权

CREATE USER 'keycloak' @'%' IDENTIFIED BY 'keycloak';

GRANT ALL PRIVILEGES ON `keycloak`.* TO 'keycloak' @'%';

创建keycloak数据库

CREATE DATABASE IF NOT EXISTS keycloak DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

退出数据库

exit

退出容器

exit

启动keycloak

docker run --name keycloak    --restart=always     --network cloud     -p 8010:8080   -e KEYCLOAK_USER=admin    -e KEYCLOAK_PASSWORD=admin    -e DB_VENDOR=mysql   -e DB_ADDR=mysql     -e DB_PORT=3306    -e DB_DATABASE=keycloak    -e DB_USER=root     -e DB_PASSWORD=root     -e JDBC_PARAMS='connectTimeout=90&useSSL=false'     -d jboss/keycloak

 查看日志,要等半天

docker logs -f -t keycloak

配置

    因为模式是使用的https 所以需要进行登录系统修改

    登录数据库进行修改

docker exec -it mysql /bin/sh
mysql -uroot -proot 
use keycloak
update REALM set ssl_required='NONE' where id = 'master'

退出重启

exit 

docker restart  keycloak

登录http://ip:8010

输入账号密码admin

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐