docker容器数据备份恢复

简介: 描述docker容器服务数据备份和回复操作

docker数据备份恢复

docker容器mysql数据备份恢复

1.连接数据库

docker exec -it d47bc4609487 mysql -uroot -p123456

2.针对所有数据库备份恢复

2.1.备份所有表结构和数据

#方法一:所有表结构和数据
docker exec -it d47bc4609487 mysqldump -uroot -p123456 --all-databases > /data/backup/mysql/20220728_1.sql

#方法二:所有表结构和数据
docker exec d47bc4609487 sh -c 'exec mysqldump -uroot -p123456 --all-databases' > /data/backup/mysql/20220728_2.sql

2.2.恢复所有表结构和数据

#将数据从宿主机复制到docker 容器
docker cp /data/backup/mysql/20220728_1.sql d47bc4609487:/tmp
#进入宿主机,登陆mysql
docker exec -it  d47bc4609487 mysql -uroot -p123456
#还原数据库
source /tmp/20220728_1.sql

3.针对单个数据库备份恢复

3.1.备份单个表结构和数据

#将数据从数据库中备份到本地
docker exec -it d47bc4609487 mysqldump -uroot -p123456 jsh_erp > /data/backup/mysql/20220728_3.sql

3.2.恢复单个表结构和数据

#将数据从宿主机复制到docker 容器
docker cp /data/backup/mysql/20220728_3.sql d47bc4609487:/tmp
#进入宿主机,登陆mysql
docker exec -it  d47bc4609487 mysql -uroot -p123456
#3.创建临时数据库
create database jsh_erp;
#4.切换数据库
use jsh_erp;
#还原数据库
source /tmp/20220728_3.sql

4.备份数据不备份结构

docker exec -it d47bc4609487 mysqldump -t -uroot -p123456 jsh_erp > /data/backup/mysql/20220728_4.sql

5.备份结构不备份数据

docker exec -it d47bc4609487 mysqldump --opt -d -uroot -p123456 jsh_erp > /data/backup/mysql/20220728_5.sql

6.备份特定表结构和数据

docker exec -it d47bc4609487 mysqldump --single-transaction -uroot -p123456 jsh_erp jsh_account > /data/backup/mysql/20220728_6.sql

docker容器mongodb数据备份恢复

1.针对所有数据库备份恢复

1.1.备份所有表结构和数据

#备份所有表结构和数据
docker exec -it 89fc4c689dd0 mongodump --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password filink_123 --out /data/backup/mongodb/20220728_1
#将备份数据压缩并从容器复制到宿主机
tar -zcvf ...
docker cp ...

1.2.恢复所有表结构和数据

#将数据从宿主机复制到docker容器
docker cp /root/backup.tar.gz 19c950a5d8a1:/tmp
#进入容器
docker exec -it 19c950a5d8a1 sh
#解压需要恢复的数据
tar -zxvf backup.tar.gz
#恢复所有表结构数据(在宿主机执行)
docker exec -it 19c950a5d8a1 mongorestore --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password unm2K10 /tmp/backup/20220728_1

2.针对单个数据库备份恢复

2.1.备份单个表结构和数据

#将数据从数据库中备份到本地
docker exec -it 89fc4c689dd0 mongodump --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password filink_123 --db control_sensor --out /data/backup/mongodb/20220728_2
#将备份数据压缩并从容器复制到宿主机
tar -zcvf ...
docker cp ...

2.2.恢复单个表结构和数据

#将数据从宿主机复制到docker容器
docker cp /root/backup.tar.gz 19c950a5d8a1:/tmp
#进入容器
docker exec -it 19c950a5d8a1 sh
#解压需要恢复的数据
tar -zxvf backup.tar.gz
#恢复所有表结构数据(在宿主机执行)
docker exec -it 19c950a5d8a1 mongorestore --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password unm2K10 --db control_sensor /tmp/backup/20220728_2/control_sensor
目录
相关文章
|
9月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
789 115
|
9月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
10月前
|
运维 持续交付 开发者
Docker:重塑现代应用开发的容器革命
Docker:重塑现代应用开发的容器革命
|
8月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
797 51
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
10月前
|
运维 持续交付 开发者
Docker:现代应用开发的容器化革命
Docker:现代应用开发的容器化革命