docker run -d \
--env MYSQL_USER=hustoj \
--env MYSQL_PASS=密码\
--env INIT_BACKUP=1 \
--env MYSQL_HOST=hustoj \
--env CRON_TIME="20 8 * * *" \
--env TZ=Asia/Shanghai \
--link hustoj \
--volume /data/backup/:/backup \
--name=bak \
fradelg/mysql-cron-backup:1.14.1
version: "2"

services:
mariadb:

image: mariadb
container_name: my_mariadb
expose:
  - 3306
volumes:
  - data:/var/lib/mysql
  # If there is not scheme, restore the last created backup (if exists)
  - ${VOLUME_PATH}/backup/latest.${DATABASE_NAME}.sql.gz:/docker-entrypoint-initdb.d/database.sql.gz
environment:
  - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
  - MYSQL_DATABASE=${DATABASE_NAME}
restart: unless-stopped

mysql-cron-backup:

image: fradelg/mysql-cron-backup
depends_on:
  - mariadb
volumes:
  - ${VOLUME_PATH}/backup:/backup
environment:
  - MYSQL_HOST=my_mariadb
  - MYSQL_USER=root
  - MYSQL_PASS=${MARIADB_ROOT_PASSWORD}
  - MAX_BACKUPS=15
  - INIT_BACKUP=0
  # Every day at 03:00
  - CRON_TIME=0 3 * * *
  # Make it small
  - GZIP_LEVEL=9
  # As of MySQL 8.0.21 this is needed
  - MYSQLDUMP_OPTS=--no-tablespaces
restart: unless-stopped

volumes:
data:

docker-compose文件中的环境变量CRON_TIME后面的字符串不能加""

发表评论