-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
63 lines (61 loc) · 1.77 KB
/
docker-compose.yml
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
services:
#nginx
nginx:
#docker hub에서 가져올 이미지 이미지 이름 : 버전
image: nginx:latest
# 로컬포트 : 도커포트를 연결
ports:
- 80:80
# 로컬상의 파일 : 도커의 파일을 연동
volumes:
- .:/code
- ./config/nginx:/etc/nginx/conf.d
#구니콘으로 실행하면 django의 css같은 파일을 불러오지못해 직접 준다
- ./static/:/static
# 명시된 도커가 실행되었을떄만 실행 ( 순서에 영향을 준다)
depends_on:
- web
db:
image: mysql:8.0.28
container_name: db
#로컬에서 이미 mysql이 3306포트를 사용하고있어 3307로 빼줬다
ports:
- 3307:3306
env_file:
#db 환경파일
- env
command:
#db 서버의 기본 문제셋을 utf8mb4로 변경
- --character-set-server=utf8mb4
#db 서버의 문자열 정렬 규칙 변경
- --collation-server=utf8mb4_unicode_ci
volumes:
#docker-entrypoint-initdb.d에 있는 sql 파일로 기본 db를 셋팅
#- data:/var/lib/mysql/
- ./003_human_scape.sql:/docker-entrypoint-initdb.d/003_human_scape.sql
#꺼져도 다시 켜짐
restart: always
web:
#image를 받아 오는게 아닌 만들어둔 dockfile에서 build
build:
#위치를 표시
context: .
dockerfile: Dockerfile
#migrate를 하고 구니콘으로 실행
command: >
bash -c "service cron start
&& python manage.py crontab add
&& python manage.py crontab show
&& gunicorn config.wsgi --bind 0.0.0.0:8000"
# 로컬 : 도커 연동
# volumes:
# - .:/code
ports:
- 8000:8000
depends_on:
- db
restart: always
# expose:
# - "8000"
# volumes:
# data: