Initial commit: Multi-database Docker environment setup
- Added MariaDB Docker configuration with localhost:8787/mariadb:10.11.linux - Added MSSQL Docker configuration with localhost:8787/server:2022-latest - Added Oracle Docker configuration with localhost:8787/oracle:latest - Unified database credentials: wace/wace0909!! - Added initialization scripts for all databases - Added management scripts for individual and bulk operations - Added comprehensive documentation
This commit is contained in:
commit
844ed5c319
|
|
@ -0,0 +1,248 @@
|
|||
# 통합 데이터베이스 Docker 환경 가이드
|
||||
|
||||
이 프로젝트는 PostgreSQL, MariaDB, MSSQL, Oracle 데이터베이스를 Docker로 통합 관리할 수 있도록 구성되었습니다.
|
||||
|
||||
## 프로젝트 구조
|
||||
|
||||
```
|
||||
workspace_db/
|
||||
├── PostgreSQL (기존 실행 중)
|
||||
├── MariaDB/
|
||||
│ ├── docker-compose-mariadb.yml
|
||||
│ ├── mariadb.env
|
||||
│ ├── mariadb-init/
|
||||
│ ├── mariadb-config/
|
||||
│ ├── start-mariadb.sh
|
||||
│ └── stop-mariadb.sh
|
||||
├── MSSQL/
|
||||
│ ├── docker-compose-mssql.yml
|
||||
│ ├── mssql.env
|
||||
│ ├── mssql-init/
|
||||
│ ├── mssql-backup/
|
||||
│ ├── start-mssql.sh
|
||||
│ └── stop-mssql.sh
|
||||
├── Oracle/
|
||||
│ ├── docker-compose-oracle.yml
|
||||
│ ├── oracle.env
|
||||
│ ├── oracle-init/
|
||||
│ ├── oracle-backup/
|
||||
│ ├── start-oracle.sh
|
||||
│ └── stop-oracle.sh
|
||||
├── start-all-db.sh # 모든 DB 시작
|
||||
├── stop-all-db.sh # 모든 DB 중지
|
||||
└── README-ALL-DB.md # 이 파일
|
||||
```
|
||||
|
||||
## 통합 연결 정보
|
||||
|
||||
모든 데이터베이스는 동일한 사용자 정보로 설정되어 있습니다:
|
||||
|
||||
- **데이터베이스명**: wace
|
||||
- **사용자명**: wace
|
||||
- **비밀번호**: wace0909!!
|
||||
|
||||
### 포트 정보
|
||||
|
||||
| 데이터베이스 | 포트 | 관리 도구 | 관리 도구 포트 |
|
||||
|-------------|------|-----------|---------------|
|
||||
| PostgreSQL | 5432 | (기존 설정) | (기존 설정) |
|
||||
| MariaDB | 3306 | phpMyAdmin | 8080 |
|
||||
| MSSQL | 1433 | Adminer | 8081 |
|
||||
| Oracle | 1521 | Adminer | 8082 |
|
||||
|
||||
## 빠른 시작
|
||||
|
||||
### 모든 데이터베이스 시작
|
||||
```bash
|
||||
chmod +x start-all-db.sh
|
||||
./start-all-db.sh
|
||||
```
|
||||
|
||||
### 모든 데이터베이스 중지
|
||||
```bash
|
||||
chmod +x stop-all-db.sh
|
||||
./stop-all-db.sh
|
||||
```
|
||||
|
||||
### 개별 데이터베이스 관리
|
||||
```bash
|
||||
# MariaDB
|
||||
./start-mariadb.sh
|
||||
./stop-mariadb.sh
|
||||
|
||||
# MSSQL
|
||||
./start-mssql.sh
|
||||
./stop-mssql.sh
|
||||
|
||||
# Oracle
|
||||
./start-oracle.sh
|
||||
./stop-oracle.sh
|
||||
```
|
||||
|
||||
## 데이터베이스별 상세 정보
|
||||
|
||||
### 1. PostgreSQL (기존)
|
||||
- **포트**: 5432
|
||||
- **상태**: 이미 실행 중
|
||||
- **관리**: 기존 방식 사용
|
||||
|
||||
### 2. MariaDB
|
||||
- **이미지**: localhost:8787/mariadb:10.11.linux
|
||||
- **포트**: 3306
|
||||
- **관리 도구**: phpMyAdmin (http://localhost:8080)
|
||||
- **특징**: UTF8MB4 문자셋, 한글 완벽 지원
|
||||
|
||||
### 3. MSSQL
|
||||
- **이미지**: localhost:8787/server:2022-latest
|
||||
- **포트**: 1433
|
||||
- **관리 도구**: Adminer (http://localhost:8081)
|
||||
- **특징**: Express 에디션, Korean_Wansung_CI_AS 콜레이션
|
||||
|
||||
### 4. Oracle
|
||||
- **이미지**: localhost:8787/oracle:latest
|
||||
- **포트**: 1521 (DB), 5500 (EM)
|
||||
- **관리 도구**: Adminer (http://localhost:8082)
|
||||
- **SID**: ORCL
|
||||
- **PDB**: ORCLPDB1
|
||||
- **특징**: Enterprise Manager 포함
|
||||
|
||||
## 연결 문자열 예시
|
||||
|
||||
### MariaDB
|
||||
```bash
|
||||
mysql -h localhost -P 3306 -u wace -p wace
|
||||
```
|
||||
|
||||
### MSSQL
|
||||
```bash
|
||||
sqlcmd -S localhost,1433 -U wace -P wace0909!! -d wace
|
||||
```
|
||||
|
||||
### Oracle
|
||||
```bash
|
||||
sqlplus wace/"wace0909!!"@//localhost:1521/ORCLPDB1
|
||||
```
|
||||
|
||||
### JDBC 연결 문자열
|
||||
```properties
|
||||
# MariaDB
|
||||
jdbc:mariadb://localhost:3306/wace
|
||||
|
||||
# MSSQL
|
||||
jdbc:sqlserver://localhost:1433;databaseName=wace
|
||||
|
||||
# Oracle
|
||||
jdbc:oracle:thin:@localhost:1521:ORCL
|
||||
```
|
||||
|
||||
## 초기 데이터
|
||||
|
||||
모든 데이터베이스에는 동일한 샘플 데이터가 생성됩니다:
|
||||
|
||||
### users 테이블
|
||||
| id | username | email | password_hash |
|
||||
|----|----------|-------|---------------|
|
||||
| 1 | admin | admin@example.com | (해시) |
|
||||
| 2 | testuser | test@example.com | (해시) |
|
||||
|
||||
### user_profiles 테이블
|
||||
| id | user_id | first_name | last_name | phone |
|
||||
|----|---------|------------|-----------|-------|
|
||||
| 1 | 1 | 관리자 | 시스템 | 010-1234-5678 |
|
||||
| 2 | 2 | 테스트 | 사용자 | 010-9876-5432 |
|
||||
|
||||
## 관리 도구 접속
|
||||
|
||||
### phpMyAdmin (MariaDB)
|
||||
- URL: http://localhost:8080
|
||||
- 서버: mariadb
|
||||
- 사용자: wace 또는 root
|
||||
- 비밀번호: wace0909!!
|
||||
|
||||
### Adminer (MSSQL)
|
||||
- URL: http://localhost:8081
|
||||
- 시스템: MS SQL (beta)
|
||||
- 서버: mssql
|
||||
- 사용자명: wace 또는 sa
|
||||
- 비밀번호: wace0909!!
|
||||
- 데이터베이스: wace
|
||||
|
||||
### Adminer (Oracle)
|
||||
- URL: http://localhost:8082
|
||||
- 시스템: Oracle
|
||||
- 서버: oracle:1521
|
||||
- 사용자명: wace
|
||||
- 비밀번호: wace0909!!
|
||||
- 데이터베이스: ORCLPDB1
|
||||
|
||||
### Oracle Enterprise Manager
|
||||
- URL: http://localhost:5500/em
|
||||
- 사용자: sys (as sysdba)
|
||||
- 비밀번호: wace0909!!
|
||||
|
||||
## 유용한 명령어
|
||||
|
||||
### 모든 컨테이너 상태 확인
|
||||
```bash
|
||||
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
```
|
||||
|
||||
### 개별 로그 확인
|
||||
```bash
|
||||
docker logs mariadb-server
|
||||
docker logs mssql-server
|
||||
docker logs oracle-server
|
||||
```
|
||||
|
||||
### 데이터 백업
|
||||
```bash
|
||||
# MariaDB
|
||||
docker exec mariadb-server mysqldump -u wace -p wace > mariadb-backup.sql
|
||||
|
||||
# MSSQL
|
||||
docker exec mssql-server /opt/mssql-tools/bin/sqlcmd -S localhost -U wace -P wace0909!! -Q "BACKUP DATABASE wace TO DISK = '/var/opt/mssql/backup/wace.bak'"
|
||||
|
||||
# Oracle
|
||||
docker exec oracle-server expdp wace/wace0909!!@ORCLPDB1 directory=backup_dir dumpfile=wace.dmp
|
||||
```
|
||||
|
||||
## 문제 해결
|
||||
|
||||
### 포트 충돌
|
||||
각 데이터베이스는 서로 다른 포트를 사용하므로 충돌이 없어야 합니다. 만약 충돌이 발생하면 docker-compose 파일에서 포트를 변경하세요.
|
||||
|
||||
### 메모리 부족
|
||||
Oracle은 많은 메모리를 사용합니다. 시스템 리소스가 부족한 경우 개별적으로 실행하는 것을 권장합니다.
|
||||
|
||||
### 초기화 시간
|
||||
- MariaDB: 즉시 사용 가능
|
||||
- MSSQL: 1-2분 소요
|
||||
- Oracle: 5-10분 소요 (첫 실행 시)
|
||||
|
||||
### 권한 문제 (Linux)
|
||||
```bash
|
||||
chmod +x *.sh
|
||||
```
|
||||
|
||||
## 리눅스 서버 배포
|
||||
|
||||
리눅스 서버에 배포할 때:
|
||||
|
||||
1. 모든 스크립트에 실행 권한 부여:
|
||||
```bash
|
||||
chmod +x *.sh
|
||||
```
|
||||
|
||||
2. Docker와 Docker Compose 설치 확인
|
||||
|
||||
3. 프라이빗 레지스트리 접근 확인:
|
||||
```bash
|
||||
docker login localhost:8787
|
||||
```
|
||||
|
||||
4. 전체 시작:
|
||||
```bash
|
||||
./start-all-db.sh
|
||||
```
|
||||
|
||||
이제 모든 데이터베이스가 통합 환경에서 실행됩니다!
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
# MariaDB Docker 설정 가이드
|
||||
|
||||
이 프로젝트는 Docker를 사용하여 MariaDB 서버를 쉽게 설정하고 관리할 수 있도록 구성되었습니다.
|
||||
|
||||
## 파일 구조
|
||||
|
||||
```
|
||||
workspace_db/
|
||||
├── docker-compose-mariadb.yml # MariaDB Docker Compose 설정
|
||||
├── mariadb.env # 환경 변수 설정
|
||||
├── start-mariadb.sh # MariaDB 시작 스크립트
|
||||
├── stop-mariadb.sh # MariaDB 중지 스크립트
|
||||
├── mariadb-init/ # 초기화 스크립트 디렉토리
|
||||
│ └── 01-init-database.sql # 데이터베이스 초기화 SQL
|
||||
├── mariadb-config/ # MariaDB 설정 파일 디렉토리
|
||||
│ └── my.cnf # MariaDB 설정 파일
|
||||
└── README-MariaDB.md # 이 파일
|
||||
```
|
||||
|
||||
## 빠른 시작
|
||||
|
||||
### 1. MariaDB 시작
|
||||
|
||||
```bash
|
||||
# Linux/Mac
|
||||
chmod +x start-mariadb.sh
|
||||
./start-mariadb.sh
|
||||
|
||||
# Windows (PowerShell)
|
||||
docker-compose -f docker-compose-mariadb.yml --env-file mariadb.env up -d
|
||||
```
|
||||
|
||||
### 2. MariaDB 중지
|
||||
|
||||
```bash
|
||||
# Linux/Mac
|
||||
chmod +x stop-mariadb.sh
|
||||
./stop-mariadb.sh
|
||||
|
||||
# Windows (PowerShell)
|
||||
docker-compose -f docker-compose-mariadb.yml down
|
||||
```
|
||||
|
||||
## 연결 정보
|
||||
|
||||
- **호스트**: localhost
|
||||
- **포트**: 3306
|
||||
- **데이터베이스**: testdb
|
||||
- **사용자**: dbuser
|
||||
- **비밀번호**: userpassword123
|
||||
- **Root 비밀번호**: rootpassword123
|
||||
|
||||
## phpMyAdmin 접속
|
||||
|
||||
MariaDB 관리를 위한 phpMyAdmin이 함께 설치됩니다.
|
||||
|
||||
- **URL**: http://localhost:8080
|
||||
- **사용자**: root 또는 dbuser
|
||||
- **비밀번호**: 위의 연결 정보 참조
|
||||
|
||||
## 환경 변수 설정
|
||||
|
||||
`mariadb.env` 파일을 수정하여 데이터베이스 설정을 변경할 수 있습니다:
|
||||
|
||||
```env
|
||||
MYSQL_ROOT_PASSWORD=rootpassword123
|
||||
MYSQL_DATABASE=testdb
|
||||
MYSQL_USER=dbuser
|
||||
MYSQL_PASSWORD=userpassword123
|
||||
```
|
||||
|
||||
## 초기화 스크립트
|
||||
|
||||
`mariadb-init/` 디렉토리에 있는 SQL 파일들은 컨테이너 첫 실행 시 자동으로 실행됩니다.
|
||||
|
||||
- 데이터베이스 생성
|
||||
- 사용자 권한 설정
|
||||
- 샘플 테이블 및 데이터 생성
|
||||
|
||||
## 설정 파일
|
||||
|
||||
`mariadb-config/my.cnf` 파일에서 MariaDB 서버 설정을 커스터마이징할 수 있습니다:
|
||||
|
||||
- 문자셋: UTF8MB4
|
||||
- 성능 최적화 설정
|
||||
- 로그 설정
|
||||
- 보안 설정
|
||||
|
||||
## 유용한 명령어
|
||||
|
||||
### 컨테이너 상태 확인
|
||||
```bash
|
||||
docker ps | grep mariadb
|
||||
```
|
||||
|
||||
### MariaDB 로그 확인
|
||||
```bash
|
||||
docker logs mariadb-server
|
||||
```
|
||||
|
||||
### MariaDB 컨테이너 접속
|
||||
```bash
|
||||
docker exec -it mariadb-server mysql -u root -p
|
||||
```
|
||||
|
||||
### 데이터 백업
|
||||
```bash
|
||||
docker exec mariadb-server mysqldump -u root -p --all-databases > backup.sql
|
||||
```
|
||||
|
||||
### 데이터 복원
|
||||
```bash
|
||||
docker exec -i mariadb-server mysql -u root -p < backup.sql
|
||||
```
|
||||
|
||||
## 포트 설정
|
||||
|
||||
현재 설정된 포트:
|
||||
- MariaDB: 3306
|
||||
- phpMyAdmin: 8080
|
||||
|
||||
다른 서비스와 포트 충돌이 있는 경우 `docker-compose-mariadb.yml` 파일에서 포트를 변경할 수 있습니다.
|
||||
|
||||
## 데이터 지속성
|
||||
|
||||
MariaDB 데이터는 Docker 볼륨(`mariadb_data`)에 저장되어 컨테이너를 재시작해도 데이터가 보존됩니다.
|
||||
|
||||
## 문제 해결
|
||||
|
||||
### 포트 충돌
|
||||
다른 MySQL/MariaDB 서비스가 3306 포트를 사용 중인 경우:
|
||||
1. 기존 서비스 중지
|
||||
2. docker-compose-mariadb.yml에서 포트 변경 (예: "3307:3306")
|
||||
|
||||
### 권한 문제
|
||||
Linux/Mac에서 스크립트 실행 권한 부여:
|
||||
```bash
|
||||
chmod +x start-mariadb.sh stop-mariadb.sh
|
||||
```
|
||||
|
||||
### 컨테이너가 시작되지 않는 경우
|
||||
```bash
|
||||
docker logs mariadb-server
|
||||
```
|
||||
명령어로 로그를 확인하여 오류 원인을 파악하세요.
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
image: localhost:8787/mariadb:10.11.linux
|
||||
container_name: mariadb-server
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-wace0909!!}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE:-wace}
|
||||
MYSQL_USER: ${MYSQL_USER:-wace}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-wace0909!!}
|
||||
TZ: Asia/Seoul
|
||||
ports:
|
||||
- "3306:3306"
|
||||
volumes:
|
||||
- mariadb_data:/var/lib/mysql
|
||||
- ./mariadb-init:/docker-entrypoint-initdb.d
|
||||
- ./mariadb-config:/etc/mysql/conf.d
|
||||
networks:
|
||||
- mariadb_network
|
||||
command: >
|
||||
--character-set-server=utf8mb4
|
||||
--collation-server=utf8mb4_unicode_ci
|
||||
--max-connections=200
|
||||
--innodb-buffer-pool-size=256M
|
||||
|
||||
# MariaDB 관리용 phpMyAdmin (선택사항)
|
||||
phpmyadmin:
|
||||
image: phpmyadmin/phpmyadmin:latest
|
||||
container_name: mariadb-phpmyadmin
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PMA_HOST: mariadb
|
||||
PMA_PORT: 3306
|
||||
PMA_USER: root
|
||||
PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD:-wace0909!!}
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-wace0909!!}
|
||||
ports:
|
||||
- "8080:80"
|
||||
depends_on:
|
||||
- mariadb
|
||||
networks:
|
||||
- mariadb_network
|
||||
|
||||
volumes:
|
||||
mariadb_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
mariadb_network:
|
||||
driver: bridge
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
mssql:
|
||||
image: localhost:8787/server:2022-latest
|
||||
container_name: mssql-server
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ACCEPT_EULA: Y
|
||||
SA_PASSWORD: ${SA_PASSWORD:-wace0909!!}
|
||||
MSSQL_PID: ${MSSQL_PID:-Express}
|
||||
TZ: Asia/Seoul
|
||||
ports:
|
||||
- "1433:1433"
|
||||
volumes:
|
||||
- mssql_data:/var/opt/mssql
|
||||
- ./mssql-init:/docker-entrypoint-initdb.d
|
||||
- ./mssql-backup:/var/opt/mssql/backup
|
||||
networks:
|
||||
- mssql_network
|
||||
hostname: mssql-server
|
||||
user: root
|
||||
|
||||
# MSSQL 관리용 Adminer (선택사항)
|
||||
mssql-adminer:
|
||||
image: adminer:latest
|
||||
container_name: mssql-adminer
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ADMINER_DEFAULT_SERVER: mssql
|
||||
ports:
|
||||
- "8081:8080"
|
||||
depends_on:
|
||||
- mssql
|
||||
networks:
|
||||
- mssql_network
|
||||
|
||||
volumes:
|
||||
mssql_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
mssql_network:
|
||||
driver: bridge
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
oracle:
|
||||
image: localhost:8787/oracle:latest
|
||||
container_name: oracle-server
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ORACLE_SID: ${ORACLE_SID:-ORCL}
|
||||
ORACLE_PDB: ${ORACLE_PDB:-ORCLPDB1}
|
||||
ORACLE_PWD: ${ORACLE_PWD:-wace0909!!}
|
||||
ORACLE_EDITION: ${ORACLE_EDITION:-standard}
|
||||
ORACLE_CHARACTERSET: ${ORACLE_CHARACTERSET:-AL32UTF8}
|
||||
ENABLE_ARCHIVELOG: ${ENABLE_ARCHIVELOG:-true}
|
||||
TZ: Asia/Seoul
|
||||
ports:
|
||||
- "1521:1521"
|
||||
- "5500:5500"
|
||||
volumes:
|
||||
- oracle_data:/opt/oracle/oradata
|
||||
- ./oracle-init:/docker-entrypoint-initdb.d
|
||||
- ./oracle-backup:/opt/oracle/backup
|
||||
networks:
|
||||
- oracle_network
|
||||
hostname: oracle-server
|
||||
shm_size: 1g
|
||||
|
||||
# Oracle 관리용 Adminer (선택사항)
|
||||
oracle-adminer:
|
||||
image: adminer:latest
|
||||
container_name: oracle-adminer
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ADMINER_DEFAULT_SERVER: oracle
|
||||
ports:
|
||||
- "8082:8080"
|
||||
depends_on:
|
||||
- oracle
|
||||
networks:
|
||||
- oracle_network
|
||||
|
||||
volumes:
|
||||
oracle_data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
oracle_network:
|
||||
driver: bridge
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
[mysqld]
|
||||
# 기본 설정
|
||||
character-set-server = utf8mb4
|
||||
collation-server = utf8mb4_unicode_ci
|
||||
init-connect = 'SET NAMES utf8mb4'
|
||||
|
||||
# 성능 설정
|
||||
max_connections = 200
|
||||
innodb_buffer_pool_size = 256M
|
||||
innodb_log_file_size = 64M
|
||||
innodb_flush_log_at_trx_commit = 2
|
||||
innodb_flush_method = O_DIRECT
|
||||
|
||||
# 쿼리 캐시 설정
|
||||
query_cache_type = 1
|
||||
query_cache_size = 32M
|
||||
query_cache_limit = 2M
|
||||
|
||||
# 로그 설정
|
||||
general_log = 0
|
||||
slow_query_log = 1
|
||||
slow_query_log_file = /var/log/mysql/slow.log
|
||||
long_query_time = 2
|
||||
|
||||
# 바이너리 로그 설정
|
||||
log-bin = mysql-bin
|
||||
binlog_format = ROW
|
||||
expire_logs_days = 7
|
||||
|
||||
# 보안 설정
|
||||
skip-name-resolve
|
||||
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
|
||||
|
||||
# 타임존 설정
|
||||
default-time-zone = '+09:00'
|
||||
|
||||
[mysql]
|
||||
default-character-set = utf8mb4
|
||||
|
||||
[client]
|
||||
default-character-set = utf8mb4
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
-- MariaDB 초기화 스크립트
|
||||
-- 데이터베이스와 사용자 생성
|
||||
|
||||
-- 기본 데이터베이스 생성 (이미 환경변수로 생성되지만 추가 설정용)
|
||||
CREATE DATABASE IF NOT EXISTS wace CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- 추가 데이터베이스 생성 예시
|
||||
CREATE DATABASE IF NOT EXISTS appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE DATABASE IF NOT EXISTS logdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- 사용자 권한 설정
|
||||
GRANT ALL PRIVILEGES ON wace.* TO 'wace'@'%';
|
||||
GRANT ALL PRIVILEGES ON appdb.* TO 'wace'@'%';
|
||||
GRANT SELECT, INSERT, UPDATE ON logdb.* TO 'wace'@'%';
|
||||
|
||||
-- 권한 적용
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
-- 샘플 테이블 생성
|
||||
USE wace;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL UNIQUE,
|
||||
email VARCHAR(100) NOT NULL UNIQUE,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_profiles (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id INT NOT NULL,
|
||||
first_name VARCHAR(50),
|
||||
last_name VARCHAR(50),
|
||||
phone VARCHAR(20),
|
||||
address TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 샘플 데이터 삽입
|
||||
INSERT INTO users (username, email, password_hash) VALUES
|
||||
('admin', 'admin@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'),
|
||||
('testuser', 'test@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi');
|
||||
|
||||
INSERT INTO user_profiles (user_id, first_name, last_name, phone) VALUES
|
||||
(1, '관리자', '시스템', '010-1234-5678'),
|
||||
(2, '테스트', '사용자', '010-9876-5432');
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# MariaDB 환경 변수 설정
|
||||
MYSQL_ROOT_PASSWORD=wace0909!!
|
||||
MYSQL_DATABASE=wace
|
||||
MYSQL_USER=wace
|
||||
MYSQL_PASSWORD=wace0909!!
|
||||
|
||||
# 선택적 설정
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD=no
|
||||
MYSQL_RANDOM_ROOT_PASSWORD=no
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
-- MSSQL 초기화 스크립트
|
||||
-- 데이터베이스와 사용자 생성
|
||||
|
||||
USE master;
|
||||
GO
|
||||
|
||||
-- wace 데이터베이스 생성
|
||||
IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = 'wace')
|
||||
BEGIN
|
||||
CREATE DATABASE wace
|
||||
COLLATE Korean_Wansung_CI_AS;
|
||||
END
|
||||
GO
|
||||
|
||||
-- wace 사용자 생성 및 권한 부여
|
||||
USE wace;
|
||||
GO
|
||||
|
||||
-- 로그인 생성
|
||||
IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'wace')
|
||||
BEGIN
|
||||
CREATE LOGIN wace WITH PASSWORD = 'wace0909!!';
|
||||
END
|
||||
GO
|
||||
|
||||
-- 사용자 생성
|
||||
IF NOT EXISTS (SELECT name FROM sys.database_principals WHERE name = 'wace')
|
||||
BEGIN
|
||||
CREATE USER wace FOR LOGIN wace;
|
||||
ALTER ROLE db_owner ADD MEMBER wace;
|
||||
END
|
||||
GO
|
||||
|
||||
-- 샘플 테이블 생성
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'users')
|
||||
BEGIN
|
||||
CREATE TABLE users (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
username NVARCHAR(50) NOT NULL UNIQUE,
|
||||
email NVARCHAR(100) NOT NULL UNIQUE,
|
||||
password_hash NVARCHAR(255) NOT NULL,
|
||||
created_at DATETIME2 DEFAULT GETDATE(),
|
||||
updated_at DATETIME2 DEFAULT GETDATE()
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'user_profiles')
|
||||
BEGIN
|
||||
CREATE TABLE user_profiles (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
user_id INT NOT NULL,
|
||||
first_name NVARCHAR(50),
|
||||
last_name NVARCHAR(50),
|
||||
phone NVARCHAR(20),
|
||||
address NVARCHAR(MAX),
|
||||
created_at DATETIME2 DEFAULT GETDATE(),
|
||||
updated_at DATETIME2 DEFAULT GETDATE(),
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
-- 샘플 데이터 삽입
|
||||
IF NOT EXISTS (SELECT * FROM users WHERE username = 'admin')
|
||||
BEGIN
|
||||
INSERT INTO users (username, email, password_hash) VALUES
|
||||
('admin', 'admin@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'),
|
||||
('testuser', 'test@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi');
|
||||
|
||||
INSERT INTO user_profiles (user_id, first_name, last_name, phone) VALUES
|
||||
(1, N'관리자', N'시스템', '010-1234-5678'),
|
||||
(2, N'테스트', N'사용자', '010-9876-5432');
|
||||
END
|
||||
GO
|
||||
|
||||
PRINT 'MSSQL wace 데이터베이스 초기화 완료';
|
||||
GO
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# MSSQL 환경 변수 설정
|
||||
SA_PASSWORD=wace0909!!
|
||||
MSSQL_PID=Express
|
||||
ACCEPT_EULA=Y
|
||||
|
||||
# 데이터베이스 설정
|
||||
DATABASE_NAME=wace
|
||||
DB_USER=wace
|
||||
DB_PASSWORD=wace0909!!
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
-- Oracle 초기화 스크립트
|
||||
-- 데이터베이스와 사용자 생성
|
||||
|
||||
-- wace 사용자 생성 (PDB에서 실행)
|
||||
ALTER SESSION SET CONTAINER = ORCLPDB1;
|
||||
|
||||
-- 사용자가 이미 존재하는지 확인하고 생성
|
||||
DECLARE
|
||||
user_count NUMBER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO user_count FROM dba_users WHERE username = 'WACE';
|
||||
|
||||
IF user_count = 0 THEN
|
||||
EXECUTE IMMEDIATE 'CREATE USER wace IDENTIFIED BY "wace0909!!" DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp';
|
||||
EXECUTE IMMEDIATE 'GRANT CONNECT, RESOURCE, DBA TO wace';
|
||||
EXECUTE IMMEDIATE 'GRANT CREATE SESSION TO wace';
|
||||
EXECUTE IMMEDIATE 'GRANT CREATE TABLE TO wace';
|
||||
EXECUTE IMMEDIATE 'GRANT CREATE VIEW TO wace';
|
||||
EXECUTE IMMEDIATE 'GRANT CREATE PROCEDURE TO wace';
|
||||
EXECUTE IMMEDIATE 'GRANT CREATE SEQUENCE TO wace';
|
||||
EXECUTE IMMEDIATE 'GRANT CREATE TRIGGER TO wace';
|
||||
EXECUTE IMMEDIATE 'ALTER USER wace QUOTA UNLIMITED ON users';
|
||||
DBMS_OUTPUT.PUT_LINE('사용자 wace가 생성되었습니다.');
|
||||
ELSE
|
||||
DBMS_OUTPUT.PUT_LINE('사용자 wace가 이미 존재합니다.');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
-- wace 사용자로 연결하여 테이블 생성
|
||||
CONNECT wace/"wace0909!!"@//localhost:1521/ORCLPDB1;
|
||||
|
||||
-- 샘플 테이블 생성
|
||||
DECLARE
|
||||
table_count NUMBER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO table_count FROM user_tables WHERE table_name = 'USERS';
|
||||
|
||||
IF table_count = 0 THEN
|
||||
EXECUTE IMMEDIATE '
|
||||
CREATE TABLE users (
|
||||
id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||
username VARCHAR2(50) NOT NULL UNIQUE,
|
||||
email VARCHAR2(100) NOT NULL UNIQUE,
|
||||
password_hash VARCHAR2(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)';
|
||||
DBMS_OUTPUT.PUT_LINE('users 테이블이 생성되었습니다.');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
DECLARE
|
||||
table_count NUMBER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO table_count FROM user_tables WHERE table_name = 'USER_PROFILES';
|
||||
|
||||
IF table_count = 0 THEN
|
||||
EXECUTE IMMEDIATE '
|
||||
CREATE TABLE user_profiles (
|
||||
id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||
user_id NUMBER NOT NULL,
|
||||
first_name VARCHAR2(50),
|
||||
last_name VARCHAR2(50),
|
||||
phone VARCHAR2(20),
|
||||
address CLOB,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_user_profiles_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
)';
|
||||
DBMS_OUTPUT.PUT_LINE('user_profiles 테이블이 생성되었습니다.');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
-- 업데이트 트리거 생성
|
||||
CREATE OR REPLACE TRIGGER trg_users_updated_at
|
||||
BEFORE UPDATE ON users
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
:NEW.updated_at := CURRENT_TIMESTAMP;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE TRIGGER trg_user_profiles_updated_at
|
||||
BEFORE UPDATE ON user_profiles
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
:NEW.updated_at := CURRENT_TIMESTAMP;
|
||||
END;
|
||||
/
|
||||
|
||||
-- 샘플 데이터 삽입
|
||||
DECLARE
|
||||
data_count NUMBER;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO data_count FROM users WHERE username = 'admin';
|
||||
|
||||
IF data_count = 0 THEN
|
||||
INSERT INTO users (username, email, password_hash) VALUES
|
||||
('admin', 'admin@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi');
|
||||
|
||||
INSERT INTO users (username, email, password_hash) VALUES
|
||||
('testuser', 'test@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi');
|
||||
|
||||
INSERT INTO user_profiles (user_id, first_name, last_name, phone) VALUES
|
||||
(1, '관리자', '시스템', '010-1234-5678');
|
||||
|
||||
INSERT INTO user_profiles (user_id, first_name, last_name, phone) VALUES
|
||||
(2, '테스트', '사용자', '010-9876-5432');
|
||||
|
||||
COMMIT;
|
||||
DBMS_OUTPUT.PUT_LINE('샘플 데이터가 삽입되었습니다.');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE('Oracle wace 데이터베이스 초기화 완료');
|
||||
/
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# Oracle 환경 변수 설정
|
||||
ORACLE_SID=ORCL
|
||||
ORACLE_PDB=ORCLPDB1
|
||||
ORACLE_PWD=wace0909!!
|
||||
ORACLE_EDITION=standard
|
||||
ORACLE_CHARACTERSET=AL32UTF8
|
||||
ENABLE_ARCHIVELOG=true
|
||||
|
||||
# 데이터베이스 설정
|
||||
DATABASE_NAME=wace
|
||||
DB_USER=wace
|
||||
DB_PASSWORD=wace0909!!
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 모든 데이터베이스 Docker 컨테이너 시작 스크립트
|
||||
|
||||
echo "=== 모든 데이터베이스 컨테이너를 시작합니다 ==="
|
||||
echo ""
|
||||
|
||||
# PostgreSQL 확인 (이미 실행 중인지 확인)
|
||||
echo "1. PostgreSQL 상태 확인..."
|
||||
if docker ps | grep -q postgres; then
|
||||
echo "PostgreSQL이 이미 실행 중입니다."
|
||||
else
|
||||
echo "PostgreSQL이 실행되지 않았습니다. 필요시 수동으로 시작하세요."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# MariaDB 시작
|
||||
echo "2. MariaDB 시작..."
|
||||
if [ -f "docker-compose-mariadb.yml" ]; then
|
||||
docker-compose -f docker-compose-mariadb.yml --env-file mariadb.env up -d
|
||||
echo "MariaDB 시작 완료"
|
||||
else
|
||||
echo "MariaDB 설정 파일이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# MSSQL 시작
|
||||
echo "3. MSSQL 시작..."
|
||||
if [ -f "docker-compose-mssql.yml" ]; then
|
||||
docker-compose -f docker-compose-mssql.yml --env-file mssql.env up -d
|
||||
echo "MSSQL 시작 완료"
|
||||
else
|
||||
echo "MSSQL 설정 파일이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Oracle 시작
|
||||
echo "4. Oracle 시작..."
|
||||
if [ -f "docker-compose-oracle.yml" ]; then
|
||||
docker-compose -f docker-compose-oracle.yml --env-file oracle.env up -d
|
||||
echo "Oracle 시작 완료 (초기화에 시간이 걸릴 수 있습니다)"
|
||||
else
|
||||
echo "Oracle 설정 파일이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 잠시 대기 후 상태 확인
|
||||
echo "컨테이너 상태를 확인합니다..."
|
||||
sleep 10
|
||||
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
|
||||
echo ""
|
||||
echo "=== 데이터베이스 연결 정보 ==="
|
||||
echo ""
|
||||
echo "PostgreSQL:"
|
||||
echo " - 포트: 5432 (이미 실행 중인 경우)"
|
||||
echo ""
|
||||
echo "MariaDB:"
|
||||
echo " - 포트: 3306"
|
||||
echo " - 데이터베이스: wace"
|
||||
echo " - 사용자: wace / 비밀번호: wace0909!!"
|
||||
echo " - phpMyAdmin: http://localhost:8080"
|
||||
echo ""
|
||||
echo "MSSQL:"
|
||||
echo " - 포트: 1433"
|
||||
echo " - 데이터베이스: wace"
|
||||
echo " - 사용자: wace / 비밀번호: wace0909!!"
|
||||
echo " - Adminer: http://localhost:8081"
|
||||
echo ""
|
||||
echo "Oracle:"
|
||||
echo " - 포트: 1521"
|
||||
echo " - SID: ORCL / PDB: ORCLPDB1"
|
||||
echo " - 사용자: wace / 비밀번호: wace0909!!"
|
||||
echo " - Adminer: http://localhost:8082"
|
||||
echo " - Enterprise Manager: http://localhost:5500/em"
|
||||
echo ""
|
||||
echo "모든 데이터베이스 컨테이너 시작이 완료되었습니다!"
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
|
||||
# MariaDB Docker 컨테이너 시작 스크립트
|
||||
|
||||
echo "MariaDB Docker 컨테이너를 시작합니다..."
|
||||
|
||||
# 환경 변수 파일 확인
|
||||
if [ ! -f "mariadb.env" ]; then
|
||||
echo "경고: mariadb.env 파일이 없습니다. 기본값을 사용합니다."
|
||||
fi
|
||||
|
||||
# Docker Compose로 MariaDB 시작
|
||||
docker-compose -f docker-compose-mariadb.yml --env-file mariadb.env up -d
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "컨테이너 상태를 확인합니다..."
|
||||
sleep 5
|
||||
docker ps | grep mariadb
|
||||
|
||||
echo ""
|
||||
echo "MariaDB 연결 정보:"
|
||||
echo "- 호스트: localhost"
|
||||
echo "- 포트: 3306"
|
||||
echo "- 데이터베이스: testdb"
|
||||
echo "- 사용자: dbuser"
|
||||
echo "- 비밀번호: userpassword123"
|
||||
echo "- Root 비밀번호: rootpassword123"
|
||||
echo ""
|
||||
echo "phpMyAdmin 접속: http://localhost:8080"
|
||||
echo ""
|
||||
echo "MariaDB 컨테이너가 시작되었습니다!"
|
||||
|
||||
# 로그 확인 (선택사항)
|
||||
echo "MariaDB 로그를 확인하려면 다음 명령어를 사용하세요:"
|
||||
echo "docker logs mariadb-server"
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
# MSSQL Docker 컨테이너 시작 스크립트
|
||||
|
||||
echo "MSSQL Docker 컨테이너를 시작합니다..."
|
||||
|
||||
# 환경 변수 파일 확인
|
||||
if [ ! -f "mssql.env" ]; then
|
||||
echo "경고: mssql.env 파일이 없습니다. 기본값을 사용합니다."
|
||||
fi
|
||||
|
||||
# Docker Compose로 MSSQL 시작
|
||||
docker-compose -f docker-compose-mssql.yml --env-file mssql.env up -d
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "컨테이너 상태를 확인합니다..."
|
||||
sleep 10
|
||||
docker ps | grep mssql
|
||||
|
||||
echo ""
|
||||
echo "MSSQL 연결 정보:"
|
||||
echo "- 호스트: localhost"
|
||||
echo "- 포트: 1433"
|
||||
echo "- 데이터베이스: wace"
|
||||
echo "- 사용자: wace"
|
||||
echo "- 비밀번호: wace0909!!"
|
||||
echo "- SA 비밀번호: wace0909!!"
|
||||
echo ""
|
||||
echo "Adminer 접속: http://localhost:8081"
|
||||
echo " - 시스템: MS SQL (beta)"
|
||||
echo " - 서버: mssql"
|
||||
echo " - 사용자명: sa 또는 wace"
|
||||
echo " - 비밀번호: wace0909!!"
|
||||
echo " - 데이터베이스: wace"
|
||||
echo ""
|
||||
echo "MSSQL 컨테이너가 시작되었습니다!"
|
||||
|
||||
# 로그 확인 (선택사항)
|
||||
echo "MSSQL 로그를 확인하려면 다음 명령어를 사용하세요:"
|
||||
echo "docker logs mssql-server"
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Oracle Docker 컨테이너 시작 스크립트
|
||||
|
||||
echo "Oracle Docker 컨테이너를 시작합니다..."
|
||||
|
||||
# 환경 변수 파일 확인
|
||||
if [ ! -f "oracle.env" ]; then
|
||||
echo "경고: oracle.env 파일이 없습니다. 기본값을 사용합니다."
|
||||
fi
|
||||
|
||||
# Docker Compose로 Oracle 시작
|
||||
docker-compose -f docker-compose-oracle.yml --env-file oracle.env up -d
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "컨테이너 상태를 확인합니다..."
|
||||
echo "Oracle 초기화에는 시간이 걸릴 수 있습니다. 잠시 기다려주세요..."
|
||||
sleep 30
|
||||
docker ps | grep oracle
|
||||
|
||||
echo ""
|
||||
echo "Oracle 연결 정보:"
|
||||
echo "- 호스트: localhost"
|
||||
echo "- 포트: 1521"
|
||||
echo "- SID: ORCL"
|
||||
echo "- PDB: ORCLPDB1"
|
||||
echo "- 사용자: wace"
|
||||
echo "- 비밀번호: wace0909!!"
|
||||
echo "- SYS 비밀번호: wace0909!!"
|
||||
echo ""
|
||||
echo "연결 문자열 예시:"
|
||||
echo "- sqlplus wace/\"wace0909!!\"@//localhost:1521/ORCLPDB1"
|
||||
echo "- JDBC: jdbc:oracle:thin:@localhost:1521:ORCL"
|
||||
echo ""
|
||||
echo "Adminer 접속: http://localhost:8082"
|
||||
echo " - 시스템: Oracle"
|
||||
echo " - 서버: oracle:1521"
|
||||
echo " - 사용자명: wace"
|
||||
echo " - 비밀번호: wace0909!!"
|
||||
echo " - 데이터베이스: ORCLPDB1"
|
||||
echo ""
|
||||
echo "Oracle Enterprise Manager: http://localhost:5500/em"
|
||||
echo ""
|
||||
echo "Oracle 컨테이너가 시작되었습니다!"
|
||||
|
||||
# 로그 확인 (선택사항)
|
||||
echo "Oracle 로그를 확인하려면 다음 명령어를 사용하세요:"
|
||||
echo "docker logs oracle-server"
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 모든 데이터베이스 Docker 컨테이너 중지 스크립트
|
||||
|
||||
echo "=== 모든 데이터베이스 컨테이너를 중지합니다 ==="
|
||||
echo ""
|
||||
|
||||
# MariaDB 중지
|
||||
echo "1. MariaDB 중지..."
|
||||
if [ -f "docker-compose-mariadb.yml" ]; then
|
||||
docker-compose -f docker-compose-mariadb.yml down
|
||||
echo "MariaDB 중지 완료"
|
||||
else
|
||||
echo "MariaDB 설정 파일이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# MSSQL 중지
|
||||
echo "2. MSSQL 중지..."
|
||||
if [ -f "docker-compose-mssql.yml" ]; then
|
||||
docker-compose -f docker-compose-mssql.yml down
|
||||
echo "MSSQL 중지 완료"
|
||||
else
|
||||
echo "MSSQL 설정 파일이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Oracle 중지
|
||||
echo "3. Oracle 중지..."
|
||||
if [ -f "docker-compose-oracle.yml" ]; then
|
||||
docker-compose -f docker-compose-oracle.yml down
|
||||
echo "Oracle 중지 완료"
|
||||
else
|
||||
echo "Oracle 설정 파일이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "PostgreSQL은 수동으로 관리하세요 (이미 실행 중인 컨테이너)."
|
||||
echo ""
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "현재 실행 중인 컨테이너:"
|
||||
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
|
||||
echo ""
|
||||
echo "모든 데이터베이스 컨테이너 중지가 완료되었습니다!"
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# MariaDB Docker 컨테이너 중지 스크립트
|
||||
|
||||
echo "MariaDB Docker 컨테이너를 중지합니다..."
|
||||
|
||||
# Docker Compose로 MariaDB 중지
|
||||
docker-compose -f docker-compose-mariadb.yml down
|
||||
|
||||
echo "MariaDB 컨테이너가 중지되었습니다!"
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "현재 실행 중인 컨테이너:"
|
||||
docker ps
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# MSSQL Docker 컨테이너 중지 스크립트
|
||||
|
||||
echo "MSSQL Docker 컨테이너를 중지합니다..."
|
||||
|
||||
# Docker Compose로 MSSQL 중지
|
||||
docker-compose -f docker-compose-mssql.yml down
|
||||
|
||||
echo "MSSQL 컨테이너가 중지되었습니다!"
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "현재 실행 중인 컨테이너:"
|
||||
docker ps
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Oracle Docker 컨테이너 중지 스크립트
|
||||
|
||||
echo "Oracle Docker 컨테이너를 중지합니다..."
|
||||
|
||||
# Docker Compose로 Oracle 중지
|
||||
docker-compose -f docker-compose-oracle.yml down
|
||||
|
||||
echo "Oracle 컨테이너가 중지되었습니다!"
|
||||
|
||||
# 컨테이너 상태 확인
|
||||
echo "현재 실행 중인 컨테이너:"
|
||||
docker ps
|
||||
Loading…
Reference in New Issue