sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  
  • 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:
 
 
 
 
 
 
 
 
번호 제목 sitelink1 글쓴이 날짜 조회 수
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의   황제낙엽 2024.02.02 5
74 Client ID, Client Secret (Credential) 에 대하여   황제낙엽 2024.03.11 2
73 OAuth 2.0 의 등장, 구성 요소, 인증 과정 file https://blog.naver.com/dsz08082/223024950520  황제낙엽 2024.03.11 3
72 Customizing the Login Page for Keycloak (Keycloak 로그인 페이지 사용자 정의) file https://www.baeldung.com/keycloak-custom-login-page  황제낙엽 2024.02.04 30
71 Access & Refresh token file https://letsmakemyselfprogrammer.tistory...sh%20token  황제낙엽 2024.02.03 2
70 OAuth 2.0 Client Types 별 Flow (인증 프로세스) file   황제낙엽 2024.02.02 2
69 [스프링 시큐리티 OAuth2] KeyCloak 실습 (Postman, Servlet) file   황제낙엽 2024.02.02 12
68 docker keycloak 에 ssl 적용 결과 후기   황제낙엽 2024.02.01 31
67 docker keycloak 에 ssl 적용하기 위한 학습용 포스팅 모음   황제낙엽 2024.01.31 12
66 Keycloak 설치 관련 레퍼런스들 (with docker) https://www.keycloak.org/downloads  황제낙엽 2024.01.22 4
» docker 를 이용하여 keycloak 실행 환경을 구축하는 포스팅 모음 (docker compose 포함)   황제낙엽 2024.01.22 10
64 KeyCloak 을 활용하여 사용자 인증을 처리하는 과정에 대한 포스팅 모음   황제낙엽 2024.01.20 3
63 [POST/2020.11.10] KeyCloak의 REST API 이용해서 JWT 발급과 검증 file https://oingdaddy.tistory.com/198  황제낙엽 2024.01.20 1
62 SAML roles 에 대하여   황제낙엽 2024.01.20 2
61 무료 Authorization Server 솔루션   황제낙엽 2024.01.18 3
60 Keycloak 에 대하여   황제낙엽 2024.01.18 3
59 OAuth2 구글(Google), Github, 카카오(Kakao), 네이버(Naver) 로그인 API 목록 https://choiseokwon.tistory.com/389  황제낙엽 2023.12.17 5
58 Spring Authorization Server 관련 포스트 목록과 인프런 강의   황제낙엽 2023.12.07 2
57 [POST/2023.05.22] OAuth 2.1 Authorization Server (Spring Security) 구축 후기 file https://tech.kakaopay.com/post/spring-oa...-practice/  황제낙엽 2023.12.03 3
56 OAuth 와 JWT 내용 정리 (개념 정의 및 적용 전략) file https://seungwoolog.tistory.com/95  황제낙엽 2023.12.03 3