-
Notifications
You must be signed in to change notification settings - Fork 13
/
docker-compose.yml
executable file
·154 lines (153 loc) · 4.71 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
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
version: '3.7'
services:
# MySQL
mysql:
image: mysql:5.7.44
container_name: mysql
ports:
- "29101:3306"
restart: unless-stopped
privileged: true
ulimits:
nproc: 655350
nofile:
soft: 131072
hard: 400000
#healthcheck:
# test: "/usr/bin/mysql --user=root --password=root --execute \"SHOW DATABASES;\""
# interval: 10s # 间隔时间
# timeout: 3s # 超时时间
# retries: 50 # 重试次数
command: [
#设置数据库表的数据集
'--character-set-server=utf8mb4',
#设置数据库表的数据集
'--collation-server=utf8mb4_general_ci',
]
environment:
# MySQL配置链接权限
MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST:-%}
# MySQL配置创建数据库名称
MYSQL_DATABASE: ${MYSQL_DATABASE:-gameframex}
# MySQL配置创建数据库账号密码
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
# MySQL配置时区
TZ: Asia/Shanghai
# 环境变量注入
env_file:
# 开发环境的配置文件
- ./development.env
# 生产环境的配置文件
# - ./production.env
volumes:
# MySQL数据存储映射
- ./running/mysql/mysql:/var/lib/mysql
# MySQL配置文件映射
- ./running/mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
networks:
# MySQL网络映射
- gameframex_networks
# 后台管理API
gameframex.web.admin.api:
# 自定义镜像私有镜像地址和版本
image: registry.cn-shenzhen.aliyuncs.com/gameframex/gameframex.web.admin.api:1.0.0.0
# 容器名称
container_name: gameframex-web-admin-api
# build:
# context: ./GameFrameX.Admin.Web.Api
# dockerfile: Dockerfile
# args:
# - no-cache
ports:
# 端口映射
- "20802:20802"
# 环境变量
environment:
# 数据库名称
DatabaseName: ${DatabaseName:-gameframex}
# 数据库类型
DbType: ${DbType:-MySql}
# 数据库链接字符串
ConnectionString: ${ConnectionString:-Data Source=mysql;Database=gameframex;Port=3306;Uid=root;Pwd=123456;}
# 环境变量注入
env_file:
# 开发环境的配置文件
- ./development.env
# 生产环境的配置文件
# - ./production.env
links:
- mysql
networks:
# 网络映射
- gameframex_networks
# 客户端使用API
gameframex.web.client.api:
# 自定义镜像私有镜像地址和版本
image: registry.cn-shenzhen.aliyuncs.com/gameframex/gameframex.web.client.api:1.0.0.0
# 容器名称
container_name: gameframex-web-client-api
# build:
# context: ./GameFrameX.Admin.Client.Api
# dockerfile: Dockerfile
# args:
# - no-cache
ports:
- "20808:80"
# - "20809:443"
environment:
# 数据库名称
DatabaseName: ${DatabaseName:-gameframex}
# 数据库类型
DbType: ${DbType:-MySql}
# 数据库链接字符串
ConnectionString: ${ConnectionString:-Data Source=mysql;Database=gameframex;Port=3306;Uid=root;Pwd=123456;}
# 环境变量注入
env_file:
# 开发环境的配置文件
- ./development.env
# 生产环境的配置文件
# - ./production.env
links:
- mysql
networks:
# 网络映射
- gameframex_networks
depends_on:
# 客户端API依赖的服务.需要等后台启动好了才能启动。如果部署在不同的机器上。可以删除这个配置
- gameframex.web.admin.api
# Web前端Vue
gameframex.admin.web.vue:
# 自定义镜像私有镜像地址和版本
image: registry.cn-shenzhen.aliyuncs.com/gameframex/gameframex.admin.web.vue:1.0.0.0
container_name: gameframex-admin-web-vue
# build:
# context: ./GameFrameX.Admin.Web.Vue
# dockerfile: Dockerfile
# args:
# - no-cache
ports:
- "20800:80"
# - "20801:443"
environment:
- TZ=Asia/Shanghai
# 这里配置映射
# volumes:
# - "./running/nginx/dist:/usr/share/nginx/html"
# - "./running/nginx/conf/nginx.conf:/etc/nginx/conf/nginx.conf"
# - "./running/nginx/key:/etc/nginx/key/"
networks:
# 网络映射
- gameframex_networks
restart: always
depends_on:
# 客户端API依赖的服务.需要等后台启动好了才能启动。如果部署在不同的机器上。可以删除这个配置
- gameframex.web.admin.api
- mysql
networks:
gameframex_networks:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.100.1.0/24
gateway: 172.100.1.1