• docker compose 로 컨테이너 생성(갱신) 및 실행 : docker-compose -f keycloak-mysql.yml up
  • docker compose 로 생성한 컨테이너, 이미지 삭제 : docker desktop 에서 container 와 image 를 직접 삭제해야 한다.

 

[2023.04.02] Keycloak 설치하기(Docker compose 사용)

https://blog.naver.com/veryverybigd/223062365840

chatgpt 를 이용하면 docker-compose 도 작성해준다니 참 편리한 세상이다.

도구 이용에 대한 아이디어를 얻을 수 있어서 기술 이용에 참고할 만 하다.

내용은 많지 않으므로 yml문서 내용만 참고하도록 하자.

docker-compose.yml 의 내용은 다음과 같다. (docker desktop 4.26.1 버전으로 테스트 성공)

version: '3.8'

 

services:

  postgres:

    image: bitnami/postgresql:14.7.0

    environment:

      POSTGRES_USER: keycloak

      POSTGRES_PASSWORD: password

      POSTGRES_DB: keycloak

    volumes:

      - postgres_data:/var/lib/postgres/data  

    ports:

      - 5433:5432

  keycloak:

    image: bitnami/keycloak:21.0.2

    environment:

      DB_VENDOR: POSTGRES

      DB_ADDR: postgres

      DB_DATABASE: keycloak

      DB_USER: keycloak

      DB_PASSWORD: password

      KEYCLOAK_ADMIN: admin

      KEYCLOAK_ADMIN_PASSWORD: password

    ports:

      - 8080:8080

      - 8443:8443

    depends_on:

      - postgres

volumes:

  postgres_data:

    driver: local

    driver_opts:

      type: none

      device: ./postgres_data

      o: bind

docker-compose 실행후 브라우저에서 http://localhost:8080/ 에 접속하면 된다.

 

 

[2022.10.08] Docker Compose로 Keycloak 외부 데이터베이스 MySQL로 변경하여 설치하기

https://blog.naver.com/advanc2d/222895167268

docker-compose 로 keycloak 과 mysql 을 설치하고 실행하여 각각의 서비스에 접속하여 간단한 환경 설정까지 보여준다.

내용은 간단하지만 작업 절차를 참고할만한 내용이므로 실습용으로도 괜찮은 포스팅이라고 생각한다.

docker-compose 의 내용은 다음과 같다. (실행하면 에러가 나는데 손댈 엄두가 나지 않는다...내 능력이 부족해서리 ㅋ)

// <docker-compose 파일명>.yml

version: '3.9'

 

services:

 

  mysql-kc:

    image: mysql:8.0.27          

    # 다운받을 mysql-8.0.27 docker image

    ports:

      - 3366:3306               

    # local에서 들어가는 포트 3366 , 도커 포트 3306 

    # local에서 3366으로 지정하면 도커 3306으로 포워딩해서 찾아준다.

    restart: unless-stopped     

    # unless-stopped : 명시적으로 중지되거나, Docker 자체가 중지되는 경우 재시작

    environment:

      MYSQL_USER: keycloak

      MYSQL_PASSWORD: keycloak

      MYSQL_DATABASE: keycloak_db

      # MySQL User명, Password명, DB명 설정

      MYSQL_ROOT_PASSWORD: 1234

      # MySQL root 계정의 Password 설정

    volumes:

      - keycloak-and-mysql-volume:/var/lib/mysql

    # Host OS의 디렉터리 경로를 Container 내부의 디렉토리 연동

    networks:

      - keycloak-and-mysql-network

 

  keycloak-w:

    image: jboss/keycloak:16.1.0

    ports:

      - 8181:8080

    restart: unless-stopped

    environment:

      # User and password for the Administration Console

      KEYCLOAK_USER: admin

      KEYCLOAK_PASSWORD: admin

      DB_VENDOR: mysql

      DB_ADDR: mysql-kc

      DB_PORT: 3306

      # Same values as the mysql-kc service

      DB_USER: keycloak

      DB_PASSWORD: keycloak

      DB_DATABASE: keycloak_db

    depends_on:

      - mysql-kc

    networks:

      - keycloak-and-mysql-network

 

networks:

  keycloak-and-mysql-network:

 

volumes:

  keycloak-and-mysql-volume:

 
 
 

[2023.00.00] Docker compose for keycloak and mariadb

https://gist.github.com/BaezCrdrm/609cfdce818ba1b2695b79ac475908e0

docker-compose 로 keycloak 과 mariadb 를 설치하고 실행하여 각각의 서비스에 접속하여 간단한 환경 설정까지 보여준다.

멕시코 사람이 만든 예제인데 docker 시스템과 이미지에 대한 보안등이 안전한지 잘 몰라서 함부로 사용하기는 힘들듯 하다. 그냥 실습용이다.

docker-compose 의 내용은 다음과 같다. (docker desktop 4.26.1 버전으로 테스트 성공)

version: '3'
services:
  mysql:
    image: docker.io/mariadb:10
    environment:
      MARIADB_DATABASE: dbkc
      MARIADB_ROOT_PASSWORD: root
      MARIADB_PASSWORD: admin
      MARIADB_USER: admin
    volumes:
      - my-datavolume:/var/lib/mysql
 
  keycloak:
    image: quay.io/keycloak/keycloak:20.0
    environment:
      KC_HOSTNAME: localhost
      KC_HOSTNAME_PORT: 8080
      KC_HOSTNAME_STRICT_BACKCHANNEL: "true"
      KC_DB: mariadb
      KC_DB_URL: jdbc:mariadb://mysql:3306/dbkc?characterEncoding=UTF-8
      KC_DB_USERNAME: admin
      KC_DB_PASSWORD: admin
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin
      KC_HEALTH_ENABLED: "true"
      KC_LOG_LEVEL: info
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:8080/health/ready" ]
      interval: 15s
      timeout: 2s
      retries: 15
    command: start-dev
    ports:
      - 8080:8080
    depends_on:
      - mysql
volumes:
  my-datavolume:
 
 
 
 
 
 
 
 
번호 제목 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의 황제낙엽 2025.04.10 21560
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의 황제낙엽 2024.02.02 20403
146 SPDX 2.3, 계속 써도 되나요? — 3.0으로 넘어갈 때를 판단하는 실무 기준 황제낙엽 2026.08.11 54
145 같은 OSS 지만 여러 버전을 등록해야 하는 경우 황제낙엽 2026.04.24 1971
144 [FOSSLight Dependency Scanner] Android Project 의 Dependency Scan 을 위한 Android SDK 설치와 설정 황제낙엽 2026.04.23 1842
143 FOSSLight Hub 의 REST API 이용 (v2) 황제낙엽 2026.03.19 2500
142 [FOSSLight/검토용] 개발그룹의 sbom-info.yaml 분석 및 피드백 절차 황제낙엽 2026.03.16 1981
141 [FOSSLight/관리용] Project Identification 진행에서 최종 SBOM SPDX 문서 추출 황제낙엽 2026.02.09 1916
140 [FOSSLight] 'Download Location' 컬럼 값에 'Different from DB' 라는 푸른색 메세지가 출력 file 황제낙엽 2026.02.06 3611
139 [FOSSLight] Project Identification 진행시의 신규 OSS 등록 처리 방법 황제낙엽 2026.02.06 3750
138 [FOSSLight Hub] License 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3579
137 [FOSSLight Hub] Open Source 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3352
136 [OSS] Microsoft.Web.WebView2 황제낙엽 2026.02.06 3351
135 [FOSSLight] fosslight 프로젝트의 'Pre-Review' > 'Open Source' 팝업창의 세 버튼에 대한 용도 황제낙엽 2026.02.06 3571
134 [FOSSLight/검토용] prechecker convert 결과 Hub 등록후 Identification 처리 file 황제낙엽 2026.02.05 3287
133 python venv 설치, fosslight source scanner , binary scanner 설치, 버전 확인 황제낙엽 2026.02.02 3507
132 SPDX 템플릿 다운로드 및 온라인 변환기 황제낙엽 2026.01.22 3866
131 SBOM(Software Bill of Materials) 및 소프트웨어 공급망 보안 관련 주요 정부 기관 및 단체 황제낙엽 2026.01.22 3605
130 [FOSSLight] online guide link 황제낙엽 2026.01.14 1843
129 identification 에서 출력하는 warning, error 메세지 황제낙엽 2025.12.29 1425
128 sbom-info.yaml 을 이용한 dependency scan excel 작성 file 황제낙엽 2025.12.29 3576
127 binary scan 결과물에 대해 취약점이 없는데 왜 SBOM에 넣어야 하나? 황제낙엽 2025.12.17 3484