-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
134 lines (126 loc) · 3.4 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
version: '3'
services:
sakura_mini_admin:
# 指定容器运行的镜像,指向Dockerfile文件
build:
context: .
# 自定义容器名称
container_name: sakura_mini_admin
# 将主机的数据卷或着文件挂载到容器里
restart: always
#定义了依赖关系
depends_on:
- mysql
- redis
environment:
TZ: Asia/Shanghai
# 容器的端口xx映射到宿主机的端口xx
ports:
- "8000:8000"
# 加入指定网络
networks:
- my_network
volumes:
- ./back/logs:/back/logs
# 服务的日志记录配置
logging:
driver: "json-file"
options:
max-size: "100m" # 单个文件大小为200k
max-file: "2" # 最多10个文件
# MySQL服务
mysql:
image: mysql:8.0.24
# 映射主机和容器的端口
ports:
- "3306:3306"
# 自定义容器名称
container_name: "sakura-mysql"
restart: always
# 适配mac/linux 解决no matching manifest for linux/arm64/v8 in the manifest list entries 报错
platform: linux/x86_64
environment:
# 此处就是相当于 mysql create user,创建了数据库的登录用户
MYSQL_USER: sakura_mini
# 等同于 -e MYSQL_ROOT_PASSWORD指定root的登录密码
MYSQL_ROOT_PASSWORD: sakura_mini
MYSQL_PASSWORD: '123456'
# 这里这个指令compose启动成功后会自动创建名为docker的数据库
MYSQL_DATABASE: sakura_mini
TZ: Asia/Shanghai
volumes:
# 存放了数据库表文件
- /var/lib/mysql
# 存放自定义的配置文件
- /etc/mysql.cnf
# 加入指定网络
networks:
- my_network
command:
--max_connections=1000
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
# Redis服务
redis:
# 指定镜像
image: redis:7.0.4
# 指定端口
ports:
- "63791:6379"
# 自定义容器名称
container_name: "sakura_redis"
restart: always
# 适配mac/linux 解决no matching manifest for linux/arm64/v8 in the manifest list entries 报错
platform: linux/x86_64
environment:
- TZ=Asia/Shanghai
# 数据容器卷
volumes:
# 存放了redis文件
- /var/lib/redis
# 存放自定义的配置文件
- /etc/redis.conf
# 加入指定网络
networks:
- my_network
# 运行命令
command: redis-server /etc/redis.conf
# elasticsearch
elasticsearch:
image: "docker.elastic.co/elasticsearch/elasticsearch-oss:7.9.3"
container_name: sakura-elasticsearch
environment:
#- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "discovery.type=single-node"
ports:
- "9200:9200"
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
# kibana
kibana:
image: "docker.elastic.co/kibana/kibana-oss:7.9.3"
container_name: sakura-kibana
ports:
- "5601:5601"
environment:
- ELASTICSEARCH_HOSTS:http://elasticsearch:9200
depends_on:
- elasticsearch
# filebeat
filebeat:
build:
context: ./filebeat
container_name: sakura-filebeat
volumes:
- ./back/logs:/back/logs
depends_on:
- elasticsearch
- kibana
# 创建网络
networks:
# 默认将会创建为 docker-compose.yml所在 文件夹名_my_network 网络名称
my_network:
volumes:
elasticsearch_data:
driver: local