Keyclock 컨테이너를 postgresql db와 함께 사용하는 방법에 대하 알아봅니다.
0. 참고
jbos/keycloak는 더 이상 관리되지 않습니다. 현재 글 작성 시점에 dockerhub에는 공식 keycloak 이미지가 배포되고 있지 않습니다.
1. docker-compose.yml
다음과 같이 docker-compose.yml을 작성합니다.
version: '3.8'
services:
keycloak:
image: quay.io/keycloak/keycloak:24.0.2
ports:
- "8080:8080"
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://your.dbhost.com:5432/yourdbname
KC_DB_USERNAME: yourdbuser
KC_DB_PASSWORD: yourdbpassword
KC_HTTP_ENABLED: true
KC_HEALTH_ENABLED: true
KEYCLOAK_ADMIN: yourkeycloakuser
KEYCLOAK_ADMIN_PASSWORD: yourkeycloakpassword
command:
- start-dev
- --import-realm
volumes:
- /home/keycloak/realm.json:/opt/keycloak/data/import/realm.json
환경 변수에대해 간단하게 설명하자면 다음과 같습니다.
- KC_DB: 사용할 데이터베이스의 종류입니다. postgres로 두면 됩니다.
- KC_DB_URL: postgres 접속 정보입니다. host, port, db이름을 변경해 사용하시면 됩니다.
- KC_DB_USERNAME: DB 접속 계정 정보입니다. 변경해 사용하시면 됩니다.
- KC_DB_PASSWORD: DB 접속 계정의 암호입니다. 변경해 사용하시면 됩니다.
- KC_HTTP_ENABLE: HTTP를 통해 접근 가능한지 여부를 결정합니다.
- KC_HEALTH_ENABLED: 상태 확인 엔드포인트를 활성화할지 여부를 결정합니다. true로 설정한 경우 다음과 같은 엔드포인트가 활성화됩니다.
- /health/live
- /health/ready
- /health/started
- /health
- KEYCLOAK_ADMIN: 관리용 페이지에 로그인할 수 있는 계정을 설정합니다.
- KEYCLOAK_ADMIN_PASSWORD: 관리용 페이지에 로그인 할 수 있는 계정의 암호를 설정합니다.
반응형
'Programming' 카테고리의 다른 글
[C++, C#] Lib과 DLL: 왜 lib은 C#에서 사용할 수 없을까? (0) | 2024.03.13 |
---|---|
클래스의 분리와 partial 클래스 (1) | 2024.02.16 |
[Docker] Alpine을 사용하는 이유 (0) | 2023.11.23 |
[RabbitMQ] Docker에 RabbitMQ 실행하기 (0) | 2023.08.29 |
[RabbitMQ] VirtualHost란? (0) | 2023.03.07 |