2023년 12월 30일

Middle Proxy - Keycloak 설정, Redis/zipkin 제거

전체 설치 yaml

version: '3.9'

services:

  mysql-local:
    image: mysql:5.7.34
    ports:
      - 3306:3306
    restart: unless-stopped
    environment:
      MYSQL_USER: mysqluser
      MYSQL_PASSWORD: mysqluserpassword
      MYSQL_DATABASE: keycloak_db
      MYSQL_ROOT_PASSWORD: qwe123
    volumes:
      - local-keycloak-and-mysql-volume:/var/lib/mysql
    networks:
      - common-network

  keycloak-local:
    image: jboss/keycloak:16.1.0
    ports:
      - 8181:8080
    restart: unless-stopped
    environment:
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
      DB_VENDOR: mysql
      DB_ADDR: mysql-local
      DB_PORT: 3306
      DB_USER: mysqluser
      DB_PASSWORD: mysqluserpassword
      DB_DATABASE: keycloak_db
    depends_on:
      - mysql-local
    networks:
      - common-network

  elasticsearch-local:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.17.13
    ports:
      - 9200:9200
      - 9300:9300
    restart: unless-stopped
    environment:
      - discovery.type=single-node
    networks:
      - common-network

  kibana-local:
    image: docker.elastic.co/kibana/kibana:7.17.13
    ports:
      - 5601:5601
    restart: unless-stopped
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch-local:9200
      - ELASTICSEARCH_URL=http://elasticsearch-local:9200
    depends_on:
      - elasticsearch-local
    networks:
      - common-network

  redis-local:
    image: redis:6.2
    ports:
      - 6379:6379
    restart: unless-stopped
    networks:
      - common-network

networks:
  common-network:

volumes:
  local-keycloak-and-mysql-volume:
docker-compose -p myproject up -d

aRMS_bakup.sql 컨테이너 내부로 복사

docker cp aRMS_bakup.sql myproject-mysql-local-:/aRMS_bakup.sql

aRMS Database 생성 후 sql 백업 import 명령어

docker exec -it myproject-mysql-local-1 bash -c "mysql -u root -p'qwe123' -e 'CREATE DATABASE IF NOT EXISTS aRMS; USE aRMS; source /aRMS_bakup.sql;'"

백업 로그는 없음

Untitled

# <docker-compose 파일명>.yml
version: '3.9'

services:

  mysql-keycloak:
    image: mysql:8.0.32
    # 다운받을 mysql docker image - 버전은 아무거나 상관없음
    ports:
      - 3366:3306               
    # local에서 연결하는 포트 3366 , 도커 포트 3306 
    # local에서 3366으로 지정하면 도커 3306으로 포워딩해서 찾아준다.
    restart: unless-stopped     
    # unless-stopped : 명시적으로 중지되거나, Docker 자체가 중지되는 경우 재시작
    environment:
      MYSQL_USER: mysqluser
      MYSQL_PASSWORD: mysqluserpassword
      MYSQL_DATABASE: keycloak_db
      # MySQL User명, Password명, DB명 설정
      MYSQL_ROOT_PASSWORD: qwe123
      # 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-keycloak
      DB_PORT: 3306
      # Same values as the mysql-keycloak service
      DB_USER: mysqluser
      DB_PASSWORD: mysqluserpassword
      DB_DATABASE: keycloak_db
    depends_on:
      - mysql-keycloak
    networks:
      - keycloak-and-mysql-network

networks:
  keycloak-and-mysql-network:

volumes:
  keycloak-and-mysql-volume:

파일은 만든 디렉토리 안에서 cmd 창을 열어준다.