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 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의   황제낙엽 2025.04.10 52
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의   황제낙엽 2024.02.02 627
» docker 를 이용하여 keycloak 실행 환경을 구축하는 포스팅 모음 (docker compose 포함)   황제낙엽 2024.01.22 407
64 KeyCloak 을 활용하여 사용자 인증을 처리하는 과정에 대한 포스팅 모음   황제낙엽 2024.01.20 101
63 [POST/2020.11.10] KeyCloak의 REST API 이용해서 JWT 발급과 검증 file https://oingdaddy.tistory.com/198  황제낙엽 2024.01.20 281
62 SAML roles 에 대하여   황제낙엽 2024.01.20 101
61 무료 Authorization Server 솔루션   황제낙엽 2024.01.18 154
60 Keycloak 에 대하여   황제낙엽 2024.01.18 133
59 OAuth2 구글(Google), Github, 카카오(Kakao), 네이버(Naver) 로그인 API 목록 https://choiseokwon.tistory.com/389  황제낙엽 2023.12.17 135
58 Spring Authorization Server 관련 포스트 목록과 인프런 강의   황제낙엽 2023.12.07 111
57 [POST/2023.05.22] OAuth 2.1 Authorization Server (Spring Security) 구축 후기 file https://tech.kakaopay.com/post/spring-oa...-practice/  황제낙엽 2023.12.03 157
56 OAuth 와 JWT 내용 정리 (개념 정의 및 적용 전략) file https://seungwoolog.tistory.com/95  황제낙엽 2023.12.03 171
55 [Copilot, Bard] oauth claim 의 의미   황제낙엽 2023.12.02 113
54 [reference links] windows + let's encrypt https://www.win-acme.com/manual/advanced-use/  황제낙엽 2023.03.23 33048
53 WIN-ACME https://www.win-acme.com/  황제낙엽 2022.09.17 119
52 Apache Log4j 2 보안 업데이트 권고 https://www.boho.or.kr/data/secNoticeVie...ence=36389  황제낙엽 2021.12.13 134
51 [Let's Encrypt] certbot 을 이용한 인증서 갱신 실패 기록 https://certbot.eff.org/instructions?ws=other&os=windows  황제낙엽 2021.07.03 141
50 DNS TXT Record 적용 후 조회 명령어 (windows 와 web url)   황제낙엽 2021.07.01 105
49 SSL 인증서 파일 포맷 종류 - crt, cer, csr, pem, der, pfx, p12, jks, key https://www.securesign.kr/guides/kb/54  황제낙엽 2020.07.20 165
48 certbot docker 를 이용한 인증서 발급 및 갱신(Let's Encrypt-DNS를 통해 도메인 인증) file https://lynlab.co.kr/blog/72  황제낙엽 2020.07.14 519
47 Certbot이란 https://lynlab.co.kr/blog/72  황제낙엽 2020.07.14 206
46 Let's Encrypt + Ubuntu 19.10 + Apache 2.4.41 secret https://blogger.pe.kr/824?category=144027  황제낙엽 2020.06.29 1