利用 Docker 备份、迁移数据库
2017-11-14 22:52
585 查看
原文地址:https://zeeko.1503.run/Article/17
最近在把腾讯云的国内主机迁移到香港主机,因为之前使用的 MySql 跟 MongoDb 都是基于 Docker 部署的,所以迁移起来还算比较方便,主要思路就是把数据库容器的数据卷单独做成一个数据镜像,然后把这个镜像提交到香港主机上面的私有仓库,最后用这个镜像生成一个数据容器挂载到应用容器上就好了。
就这样 5 步操作,就可以很方便的备份、迁移数据库了。所以买主机也一定要买支持 Docker 的 KVM 虚拟机啊。
最近在把腾讯云的国内主机迁移到香港主机,因为之前使用的 MySql 跟 MongoDb 都是基于 Docker 部署的,所以迁移起来还算比较方便,主要思路就是把数据库容器的数据卷单独做成一个数据镜像,然后把这个镜像提交到香港主机上面的私有仓库,最后用这个镜像生成一个数据容器挂载到应用容器上就好了。
1. 备份数据卷
docker run --rm --volumes-from data-container-backup --name tmp-backup -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /folderToBackup #Example: Backup mysql database docker run --rm --volumes-from blog-mysql --name tmp-backup -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /var/lib/mysql
--rm用来创建一个“用完即销”的容器,
--volumes-from用来把一个已有容器上挂载的卷挂载到新创建的容器上
2. 创建数据容器
docker run -d -v $(pwd):/backup --name data-backup alpine /bin/sh -c "cd / && tar xvf /backup/backup.tar"
3. 推送数据容器到私有仓库
docker commit data-backup registry-host:port/data-backup:$VERSION docker push registry-host:port/data-backup:$VERSION
4. 在另一台主机下载数据容器
docker run -v /folderToBackup --entrypoint "bin/sh" --name data-container registry-host:port/data-backup:${VERSION}
5. 将数据容器里面的数据卷挂载到应用容器上
docker run --volumes-from=data-container registry-host:port/data-backup:${VERSION} # Example docker run --name new-mysql -d -p 3306:3306 --volumes-from=data-container registry-host:port/data-backup:${VERSION}
就这样 5 步操作,就可以很方便的备份、迁移数据库了。所以买主机也一定要买支持 Docker 的 KVM 虚拟机啊。
相关文章推荐
- 【Docker】利用数据卷容器来备份、恢复、迁移数据卷
- Mysql利用Mysqldump备份 及还原数据库
- mysql利用存储过程实现对数据库数据的迁移
- 利用mongosync做数据库迁移
- 怎样利用K-Backup备份office,数据库等文件
- 无忧之道:Docker中容器的备份、恢复和迁移
- 使用sdeexport和sdeimport命令对SDE数据库的备份、迁移或恢复
- 大数据量数据库的简单备份迁移数据技巧 推荐
- 利用sql语句进行数据库的备份与还原
- 再谈数据库迁移---可利用于NON-ASM、ASM的迁入和迁出
- db2 迁移数据库数据 、导出导入 、 备份
- 利用T-SQL语句,实现数据库的备份与还原的功能
- 利用T-SQL语句,实现数据库的备份与还原的功能
- 利用crontab定时备份数据库为sql文件
- 利用游标进行数据库数据备份
- MySql innodb 数据库备份和迁移
- 利用RMAN将数据库从文件系统迁移到ASM
- 利用Xtrabackup在不停机的情况下备用数据库迁移