2023년 12월 30일
전체 설치 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;'"
백업 로그는 없음
# <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 창을 열어준다.