创建一个docker网络
docker network create keycloak-network
创建目录
mkdir -p /opt/docker/docker-compose/keycloak
cd /opt/docker/docker-compose/keycloak
初始化数据库脚本
mkdir db_scrpt
cd db_scrpt
vim init.sql
CREATE USER tiger WITH PASSWORD 'tiger';
CREATE SCHEMA IF NOT EXISTS keycloak_schema AUTHORIZATION tiger;
创建docker-compose文件
vim docker-compose.yaml
version: "3.4"
services:
db:
image: postgres:12
restart: always
ports:
- 5432:5432
volumes:
- ./postgres_db:/var/lib/postgresql/data
# This will bind the files inside the pgscripts to docker-entrypoint-initdb.d
# # The scripts will be run on startup
- ./db_scrpt:/docker-entrypoint-initdb.d
environment:
# This is required otherwise the container will fail to start
POSTGRES_PASSWORD: postgesadmin
networks:
- custom_net
keycloak:
depends_on:
- db
container_name: keycloak
image: jboss/keycloak
restart: always
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
DB_VENDOR: postgres
DB_ADDR: db
DB_PORT: 5432
DB_SCHEMA: keycloak_schema
DB_DATABASE: postgres
DB_USER: tiger
DB_PASSWORD: tiger
#JDBC_PARAMS: 'connectTimeout=90&useSSL=false'
ports:
- 8001:8080
- 9990:9990
networks:
- custom_net
networks:
custom_net:
external:
name: keycloak-network
启动
docker-compose up -d
验证是否成功部署
http://ip:8001/
用户名:admin
密码:admin