系统环境:centos7
docker版本:17.12.0-ce
keycloak版本:6.0.1
1,更改yum源
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2,查询可用的docker版本
yum search docker-ce --showduplicates | sort -r
3,安装指定版本的docker
yum -y install docker-ce-17.12.0.ce-1.el7.centos.x86_64
4.启动docker
systemctl restart docker
5.生成可使用的证书
自行生成可使用证书
6,重命名证书
[root@localhost ssl]# cp keycloak.pem tls.key
[root@localhost ssl]# cp keycloak.crt tls.crt
7.创建/root/ca/keycloak 用于存放刚才重命名后的证书文件
8.启动keycloak 并挂载证书文件
docker run --name keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -p 8080:8080 -p 443:8443 -v /root/ca/keycloak:/etc/x509/https jboss/keycloak
9.验证https是否生效 只需要在浏览器访问https://xxx.xxx.xxx.xxx/ 即可访问
注意:因为是自签的证书在火狐浏览器中直接添加信任即可访问,在chrom浏览器中会提示您的连接不是私密连接,可以通过设置-高级-证书管理-受信任的根证书颁发机构导入证书即可打开
注意docker 启动keyclaok的时候出现下列日志说明加载证书成功
========================================================================
Using Embedded H2 database
=========================================================================
Creating HTTPS keystore via OpenShift's service serving x509 certificate secrets..
HTTPS keystore successfully created at: /opt/jboss/keycloak/standalone/configuration/keystores/https-keystore.jks
keycloak挂载数据库
docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=keycloak -p 3306:3306 mysql:latest
docker run --name keycloak -p 8080:8080 -e DB_VENDOR=mysql -e DB_ADDR=192.168.49.142 -e DB_PORT=3306 -e DB_USER=root -e DB_PASSWORD=root -e DB_DATABASE=keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak