1+ services :
2+ mysql8 :
3+ image : mysql:8.4
4+ # 国内拦了 用加速站
5+ # image: docker.m.daocloud.io/mysql:8.4
6+ container_name : mysql8
7+ restart : always
8+ ports :
9+ - ${MYSQL_PORT:-3306}:3306
10+ configs :
11+ - source : mysql8.conf
12+ target : /etc/mysql/conf.d
13+ - source : mysql8.initdb
14+ target : /docker-entrypoint-initdb.d
15+ volumes :
16+ - " ${DATA_DIR:-/data}/mysql8/data:/var/lib/mysql"
17+ - " ${DATA_DIR:-/data}/mysql8/logs:/var/log/mysql"
18+ - " ${DATA_DIR:-/data}/mysql8/backup/database:/mysql/backup/database"
19+ - " ${DATA_DIR:-/data}/mysql8/backup/log:/mysql/backup/log"
20+ environment :
21+ # 设置密码
22+ - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD:?required}
23+ logging :
24+ driver : " json-file"
25+ options :
26+ # 限制日志文件大小
27+ max-size : " 100m"
28+ mysql-cron-backup :
29+ image : fradelg/mysql-cron-backup
30+ container_name : backup-cbus
31+ depends_on :
32+ - mysql8
33+ volumes :
34+ - " ${DATA_DIR:-/data}/mysql8/backup:/backup"
35+ environment :
36+ - MYSQL_HOST=mysql8
37+ - MYSQL_PORT={MYSQL_PORT:-3306}
38+ - MYSQL_USER=root
39+ - MYSQL_PASS=${MYSQL_PASSWORD:?required}
40+ - MAX_BACKUPS=15
41+ # 是否在容器启动时立即执行一次备份:1 表示立即备份,0 表示等到下一个定时点再执行。
42+ - INIT_BACKUP=0
43+ # 每天凌晨 3 点执行一次备份。cron 表达式格式:分 时 日 月 星期
44+ - CRON_TIME=0 3 * * *
45+ # gzip 压缩等级(1–9),9 表示压缩最小、CPU 占用最高。
46+ - GZIP_LEVEL=9
47+ # 指定数据库
48+ - DATABASES=cbus
49+ # As of MySQL 8.0.21 this is needed
50+ # 忽略表(多个以空格分隔)
51+ - MYSQLDUMP_OPTS=--no-tablespaces \
52+ --single-transaction \
53+ --ignore-table=cbus.log_event \
54+ --ignore-table=cbus.log_attendance \
55+ --ignore-table=cbus.log_dispatch \
56+ --ignore-table=cbus.log_dsp \
57+ --ignore-table=cbus.log_login \
58+ --ignore-table=cbus.log_message \
59+ --ignore-table=cbus.log_station \
60+ --ignore-table=cbus.log_system \
61+ --ignore-table=cbus.log_web_socket \
62+ --ignore-table=cbus.service_on_time \
63+ --ignore-table=cbus.service_over_speed \
64+ --ignore-table=cbus.schedule_plan_table \
65+ --ignore-table=cbus.device_position \
66+ --ignore-table=cbus.device_depart_arrive
67+ restart : unless-stopped
0 commit comments