This repository was archived by the owner on May 1, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
90 lines (82 loc) · 3.54 KB
/
docker-compose.yaml
File metadata and controls
90 lines (82 loc) · 3.54 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
version: '3' # 配置文件兼容版本
networks: # 网络设置
back-tire:
services: # 容器编排中不同服务的配置
web: # 容器名称
build: . # 使用当前目录下 Dockerfile 构建镜像
depends_on: # 服务依赖,启动当前服务的容器时,必须先启动其依赖容器。即 redis 和 mysql 会先于 web 启动。
- redis
- mysql
environment: # 环境变量,未指定值的环境变量会从当前环境变量中读取,或从.env文件中读取。
TZ: Asia/Shanghai
FLASK_APP: "manage:app"
FLASK_ENV: "production"
PROD_DATABASE_URI: "mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql:3306/${MYSQL_DATABASE}?charset=utf8mb4"
REPO_DIR: "/mrchiblog/repo"
REPO_SSHKEY: "/mrchiblog/sshkey/id_rsa"
WEBHOOK_TOKEN:
HMAC_KEY:
PROD_DINGTALK_TOKEN:
PROD_REDIS_URI:
PROD_RQ_REDIS_URI:
volumes: # 数据卷挂载,rw是读写模式
- /mrchiblog/cache/whoosh:/mrchiblog/prod_whoosh_idx:rw # Whoosh 索引数据文件
- /mrchiblog/logs:/mrchiblog/logs:rw # gunicorn 日志文件
- /mrchiblog/sshkey:/mrchiblog/sshkey:ro # Git SSH key
- /mrchiblog/repo:/mrchiblog/repo:rw # Git Repo
working_dir: /mrchiblog # 工作目录,command 命令在工作目录下执行
command: gunicorn -c gunicorn.py -w 1 -b 0.0.0.0:5000 manage:app # 容器启动时默认执行的命令
ports: # 端口映射,这里把容器的 5000 端口映射到宿主机的 5000 端口,并监听宿主机 127.0.0.1 的连接
- 127.0.0.1:5000:5000
networks: # 加入的网络,加入同名网络的不同容器间可以通过容器名称来相互访问
- back-tire
restart: on-failure
rq-update:
build: .
depends_on:
- redis
- mysql
environment:
TZ: Asia/Shanghai
FLASK_APP: "manage:app"
FLASK_ENV: "production"
PROD_DATABASE_URI: "mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@mysql:3306/${MYSQL_DATABASE}?charset=utf8mb4"
REPO_DIR: "/mrchiblog/repo"
REPO_SSHKEY: "/mrchiblog/sshkey/id_rsa"
WEBHOOK_TOKEN:
HMAC_KEY:
PROD_DINGTALK_TOKEN:
PROD_REDIS_URI:
PROD_RQ_REDIS_URI:
volumes:
- /mrchiblog/cache/whoosh:/mrchiblog/prod_whoosh_idx:rw # Whoosh 索引数据文件
- /mrchiblog/logs:/mrchiblog/logs:rw # gunicorn 日志文件
- /mrchiblog/sshkey:/mrchiblog/sshkey:ro # Git SSH key
- /mrchiblog/repo:/mrchiblog/repo:rw # Git Repo
working_dir: /mrchiblog
command: flask rq worker update
networks:
- back-tire
redis:
image: redis:alpine # 使用 redis:alpine 镜像,镜像不存在时会自动从镜像源拉取
environment:
TZ: Asia/Shanghai
volumes:
- /mrchiblog/data/redis:/data:rw # redis 数据文件
networks:
- back-tire
restart: on-failure
mysql:
image: mysql:5.7
environment:
TZ: Asia/Shanghai
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_USER:
MYSQL_PASSWORD:
MYSQL_DATABASE:
volumes:
- ./conf/mysql.ini:/etc/mysql/conf.d/mrchiblog.cnf:ro # MySQL 配置
- /mrchiblog/data/mysql:/var/lib/mysql:rw # MySQL 数据文件
networks:
- back-tire
restart: on-failure