keycloak
Keycloak Docker 部署安装
1.自行安装docker和docker-compose
2.获取https证书
访问keycloak需要使用https,如果有域名,可以去服务商获取可信证书,作为学习,我们也可以使用命令生成自签名的证书,直接通过ip进行访问。
# 将xxx.xxx.xxx.xxx替换为服务器公网ip或域名
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt -subj "/CN=xxx.xxx.xxx.xxx"
使用OpenSSL工具生成一个自签名的证书。生成的证书将在当前目录下生成两个文件:server.key(私钥)和 server.crt(证书文件)。 注意,自签名证书不会被公共信任机构所信任,不适用于开发环境。
3.编写docker-compose.yml
docker-compose.yml
version: '3.7'
services:
# mysql容器
mysql:
container_name: mysql
image: mysql
command: --lower_case_table_names=1 --sql-mode="" # 可选
ports:
- 3306:3306
volumes:
- ./db-init:/docker-entrypoint-initdb.d # 可选
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: keycloak
TZ: Asia/Shanghai # 可选
# keycloak容器
keycloak:
container_name: keycloak
image: quay.io/keycloak/keycloak:21.1.1
depends_on:
- mysql
environment:
# 设置管理员账号密码
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
# 数据库配置
KC_DB: mysql
KC_DB_USERNAME: root
KC_DB_PASSWORD: 123456
KC_DB_URL: jdbc:mysql://43.128.43.172:3306/keycloak # 能连接到数据库的ip 例如公网ip
quarkus.transaction-manager.enable-recovery: true # 可选
ports:
- 8443:8443
security_opt:
- seccomp:unconfined # 可选
volumes:
- /root/ssh:/etc/x509/https
# 下面3行卷映射为可选配置
- /var/keycloak/conf/quarkus.properties:/opt/keycloak/conf/quarkus.properties
- /var/keycloak/themes:/opt/keycloak/themes
- /etc/localtime:/etc/localtime
privileged: true # 可选
command: start --hostname=43.128.43.172 --https-certificate-file=/etc/x509/https/server.crt --https-certificate-key-file=/etc/x509/https/server.key
注意上面文件中的路径跟实际情况保持一致
docker-compose up -d
4.访问keycloak
.访问https://xxx.xxx.xxx.xxx:8443即可
5.设置中文
