-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose_py_dev.yml
83 lines (77 loc) · 2.93 KB
/
docker-compose_py_dev.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
version: "3"
volumes: # 自定义数据卷
db_vol: #定义数据卷同步存放容器内mysql数据
redis_vol: #定义数据卷同步存放redis数据
media_vol: #定义数据卷同步存放web项目用户上传到media文件夹的数据
static_vol: #定义数据卷同步存放web项目static文件夹的数据
whoosh:
networks: # 自定义网络(默认桥接), 不使用links通信
nginx_network:
driver: bridge
db_network:
driver: bridge
redis_network:
driver: bridge
services:
redis:
image: redis:latest
command: redis-server /etc/redis/redis.conf # 容器启动后启动redis服务器
networks:
- redis_network
volumes:
- redis_vol:/data # 通过挂载给redis数据备份
- ./compose/compose_py_dev/redis/redis.conf:/etc/redis/redis.conf # 挂载redis配置文件
ports:
- "6380:6379"
restart: always # always表容器运行发生错误时一直重启
db:
image: mysql:5.7
env_file:
- ./Code/.env # 使用了环境变量文件
networks:
- db_network
volumes:
- db_vol:/var/lib/mysql:rw # 挂载数据库数据, 可读可写
- ./compose/compose_py_dev/mysql/conf/my.cnf:/etc/mysql/my.cnf # 挂载配置文件
- ./compose/compose_py_dev/mysql/init:/docker-entrypoint-initdb.d/ # 挂载数据初始化sql脚本
ports:
- "3307:3306" # 与配置文件保持一致
restart: always
web:
build: ./Code
expose:
- "8000"
volumes:
- ./Code:/var/www/html/Code # 挂载项目代码
- static_vol:/var/www/html/Code/static # 以数据卷挂载容器内static文件
- media_vol:/var/www/html/Code/resources # 以数据卷挂载容器内用户上传媒体文件
- ./compose/compose_py_prod/uwsgi:/tmp # 挂载uwsgi日志
- whoosh:/var/www/html/Code/PersonalBlog/whoosh_index
networks:
- nginx_network
- db_network
- redis_network
depends_on:
- db
- redis
restart: always
tty: true
stdin_open: true
nginx:
build: ./compose/compose_py_dev/nginx
ports:
- "80:80"
- "443:443"
expose:
- "80"
volumes:
- ./compose/compose_py_dev/nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf # 挂载nginx配置文件
- ./compose/compose_py_dev/nginx/ssl:/usr/share/nginx/ssl # 挂载ssl证书目录
- ./compose/compose_py_dev/nginx/log:/var/log/nginx # 挂载日志
- static_vol:/usr/share/nginx/html/static # 挂载静态文件
- media_vol:/usr/share/nginx/html/resources # 挂载用户上传媒体文件
networks:
- nginx_network
depends_on:
- web
restart: always