-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
128 lines (120 loc) · 3.44 KB
/
Copy pathdocker-compose.yml
File metadata and controls
128 lines (120 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
version: '3.8'
# SQL2Excel에서 지원하는 데이터베이스 테스트용 Docker Compose
# 사용법:
# 전체 DB 기동: docker compose up -d
# 특정 DB만 기동: docker compose up -d mssql mysql postgres
# Tibero만 기동: docker compose --profile tibero up -d
# 전체 중지: docker compose down
#
# 각 DB의 기본 접속 정보는 config/dbinfo.json 예시를 참고하세요.
# Docker를 사용하는 경우 호스트 포트를 아래와 같이 매핑했습니다.
services:
mssql:
build:
context: ./docker/mssql
image: sql2excel-mssql:latest
container_name: sql2excel-mssql
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "1111"
MSSQL_PID: "Express"
ports:
- "1433:1433"
healthcheck:
test: ["CMD-SHELL", "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '1111' -Q 'SELECT 1' || /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P '1111' -Q 'SELECT 1'"]
interval: 10s
timeout: 5s
retries: 10
networks:
- sql2excel-network
mysql:
image: mysql:8.0
container_name: sql2excel-mysql
environment:
MYSQL_ROOT_PASSWORD: "1111"
MYSQL_DATABASE: "etcdb"
MYSQL_USER: "sahara"
MYSQL_PASSWORD: "1111"
ports:
- "3306:3306"
command: --default-authentication-plugin=mysql_native_password
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "sahara", "-p1111"]
interval: 10s
timeout: 5s
retries: 10
networks:
- sql2excel-network
mariadb:
image: mariadb:11
container_name: sql2excel-mariadb
environment:
MARIADB_ROOT_PASSWORD: "1111"
MARIADB_DATABASE: "sampledb"
MARIADB_USER: "sahara"
MARIADB_PASSWORD: "1111"
ports:
- "3307:3306"
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10
networks:
- sql2excel-network
postgres:
image: postgres:16
container_name: sql2excel-postgres
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "1111"
POSTGRES_DB: "postgres"
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 10
networks:
- sql2excel-network
# Oracle Database Express Edition (개발/테스트용)
# gvenzl/oracle-xe: Oracle XE의 경량 Docker 이미지
oracle:
image: gvenzl/oracle-xe:21-slim
container_name: sql2excel-oracle
environment:
ORACLE_PASSWORD: "tiger"
APP_USER: "scott"
APP_USER_PASSWORD: "tiger"
ORACLE_SERVICE_NAME: "xe"
ports:
- "1521:1521"
healthcheck:
test: ["CMD", "healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 10
networks:
- sql2excel-network
# Tibero는 공식 Docker 이미지가 없어 직접 이미지 빌드가 필요합니다.
# docker/tibero/Dockerfile을 참고하여 먼저 이미지를 빌드한 후 사용하세요.
# 예: docker build -t sql2excel-tibero ./docker/tibero
tibero:
build:
context: ./docker/tibero
image: sql2excel-tibero:latest
container_name: sql2excel-tibero
environment:
TB_USER: "tibero"
TB_PASSWORD: "tibero"
TB_DB: "tibero"
ports:
- "8629:8629"
profiles:
- tibero
networks:
- sql2excel-network
networks:
sql2excel-network:
driver: bridge