docker快速搭建mysql容器定时备份数据到磁盘

本文详细介绍如何使用Docker创建MySQL备份系统,包括Dockerfile的编写、镜像的构建与推送、容器运行脚本及数据库定时备份脚本的创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

step 1 创建dockfile

localhost:5.7.17 jack$ vi Dockerfile

FROM mysql:5.7.17
MAINTAINER Jack.he
ENV TZ="Asia/Shanghai" LANG=zh_CN.UTF-8
RUN cp /usr/share/zoneinfo/$TZ /etc/localtime && apt-get update && apt-get install -y vim && apt-get install -y cron

step 2 创建image并推送到私服

docker build -t 10.10.101.199:5000/ab-mysql-backup:5.7.17 .
docker push 10.10.101.199:5000/ab-mysql-backup:5.7.17

step 3 创建启动脚本run.sh

$ mkdir -p /export/mysql/mysqlbackup/script/sql
vi /export/mysql/mysqlbackup/run.sh
#!/bin/bash echo "================start docker container...===============" docker run -d --restart=always --name mysqlbackup \ -e MYSQL_ROOT_PASSWORD=12345678 \ -v /etc/localtime:/etc/localtime:ro \ -v /export/mysql/mysqlbackup/script:/root \ 10.10.101.199:5000/ab-mysql-backup:5.7.17 echo "===============docker container started.==============="

step 4 创建数据库备份脚本backup.sh

vi /export/mysql/mysqlbackup/script/backup.sh
#!/bin/bash
source /etc/profile
echo "......begin backup databases......"
currentTime=`date "+%Y%m%d%H%M%S"`
echo 'current time = '$currentTime

#192.168.2.22 为需要备份服务器ip以及mysql用户名和密码
/usr/bin/mysqldump -h192.168.2.22 -uroot -p12345678 testdb > /root/sql/testdb_$currentTime.sql echo "backup databases end !!!"

step 5 启动容器并创建crontab任务

[www@cent7-ip199 mysqlbackup]$sh /export/mysql/mysqlbackup/run.sh
[www@cent7-ip199 mysqlbackup]$ docker exec -it mysqlbackup bash
root@f1ae964e9f21:/# crontab -l
*/1 * * * * sh /root/backup.sh
root@f1ae964e9f21:/#service cron start #启动定时任务

 

 
 

转载于:https://www.cnblogs.com/hwp0710/p/7743613.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值