Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
61 lines (57 loc) ยท 2.66 KB
/
Copy pathdocker-compose.yml
File metadata and controls
61 lines (57 loc) ยท 2.66 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
services:
app:
image: ${DOCKER_USERNAME}/${DOCKER_REPO}:latest
restart: unless-stopped # ์ปจํ
์ด๋๋ฅผ ์๋์ผ๋ก ๋ฉ์ถ์ง ์๋ ์ด์ ์๋์ผ๋ก ์ฌ์์ํ๋๋ก ์ค์ (์๋ฒ ์ฌ๋ถํ
, ์ปจํ
์ด๋ ๋น์ ์ ์ข
๋ฃ)
ports:
- "8080:8080" # ํธ์คํธ์ 8080 ํฌํธ๋ฅผ ์ปจํ
์ด๋์ 8080 ํฌํธ์ ๋งคํ
env_file:
- .env
environment:
- SPRING_PROFILES_ACTIVE=dev # dev ๋ฐฐํฌ
- TZ=Asia/Seoul
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: java -Duser.timezone=Asia/Seoul -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar app.jar
depends_on:
mysql: # ์ด ์๋น์ค๊ฐ mysql์ด ๋จผ์ ์คํ๋ ํ ์์๋๋๋ก
condition: service_healthy # mysql ํฌ์ค ์ฒดํฌ ์ถ๊ฐ(mysql ์ปจํ
์ด๋ ์์์ด ์๋๋ผ ์์ ํ ์ค๋น๋๋์ง ์ฌ๋ถ ํ์ธ ์ฉ)
networks:
- cesco-network # mysql๊ณผ ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ๊ณต์
mysql:
image: mysql:8.0 # ๊ณต์ MySQL 8.0 ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉ
restart: unless-stopped # ์ปจํ
์ด๋๋ฅผ ์๋์ผ๋ก ๋ฉ์ถ์ง ์๋ ์ด์ ์๋์ผ๋ก ์ฌ์์ํ๋๋ก ์ค์ (์๋ฒ ์ฌ๋ถํ
, ์ปจํ
์ด๋ ๋น์ ์ ์ข
๋ฃ)
ports:
- "3306:3306" # ํธ์คํธ์ ์ปจํ
์ด๋์ MySQL ํฌํธ๋ฅผ ๋งคํ
environment:
- MYSQL_DATABASE=setbangsari # ์ด๊ธฐ ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} # ๋ฃจํธ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ
- TZ=Asia/Seoul
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
- --init-connect=SET NAMES utf8mb4
- --default-time-zone=+09:00
healthcheck: # mysql ํฌ์ค ์ฒดํฌ ์ถ๊ฐ
test: [ "CMD", "mysqladmin", "ping", "-h",
"localhost", "-uroot", "-p${MYSQL_ROOT_PASSWORD}" ]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s # ์ด๊ธฐ ์คํ ์ ์ ์๊ฐ, ์ด ๋์ ์คํจํด๋ retries ์ฐจ๊ฐ ์ ๋จ
volumes:
- mysql-data:/var/lib/mysql
# MySQL์ ๋ฐ์ดํฐ ํ์ผ์ ํธ์คํธ์ ๋ณผ๋ฅจ์ผ๋ก ์๊ตฌ ์ ์ฅ
# ์ปจํ
์ด๋๊ฐ ์ญ์ ๋ผ๋ DB ๋ด์ฉ์ ์ ์ง๋จ
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
networks:
- cesco-network # Spring๊ณผ ๊ฐ์ ๋คํธ์ํฌ ์์ ์์ด์ mysql์ด๋ผ๋ ํธ์คํธ ์ด๋ฆ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
networks:
cesco-network:
driver: bridge # Docker ๊ธฐ๋ณธ ๋ธ๋ฆฌ์ง ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉ
volumes:
mysql-data: # ์์์ ์ ์ํ MySQL ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ณผ๋ฅจ