Docker的那些事儿

Docker的那些事儿—Docker卷数据备份(32)

2018-03-23  本文已影响6人  sjyu_eadd

上一篇:Docker的那些事儿—Docker数据卷容器(31)


数据备份一直是运维中最最重要的一件事,Docker中的卷数据备份也同等重要!下面就来研究下Docker中的卷数据备份。

首先,我们运行一个mysql的数据库容器:

docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -v mysql_data:/var/lib/mysql mysql

下面进入mysql,由于容器启动时作了端口映射,所以宿主机安装了mysql客户端的话就可以直接连接mysql数据库了(当然了,也可以进入容器直接连接mysql操作)。如果未安装的话:apt-get install -y mysql-client-core-5.7

连接mysql数据库,创建一个docker_data的数据库,并在其中创建一个表table1。

我们在数据库中新建的库及表都存在

下面开始备份mysql数据库数据:

docker run -it --rm --volumes-from mysql -v$(pwd):/backup alpine tar zcvf /backup/backup.tar.gz /var/lib/mysql

其中:

--rm 备份后自动删除容器

--volumes-from 加载上述mysql容器

-v 挂载当前目录到新容器的/backup目录下

tar zcvf /backup/backup.tar.gz /var/lib/mysql 在新容器内执行tar命令将mysql容器的/var/lib/mysql打包成backup.tar.gz放到当前目录下

当前目录下存在backup.tar.gz,且压缩包里存在新增的数据。下一节我们将使用这个备份包去恢复mysql容器卷数据。


下一篇:Docker的那些事儿—Docker卷数据恢复或迁移(33)


上一篇下一篇

猜你喜欢

热点阅读