四、Docker 数据管理

使用 docker 部署程序,一旦 docker 容器关闭或重启,程序产生的数据也会销毁。因此在使用 docker 时,就需要对 docker 的数据进行持久化。方法主要有如下两种:

一、数据卷

数据卷,是一个可供容器使用的特殊目录,他将主机目录直接挂载仅容器中,将容器中的数据存储到本地。

数据卷命令 docker volume

二、数据卷容器

如果需要在容器之间共享数据,那么最简单的方式就是数据卷容器,数据卷容器专门提供数据卷给其他容器挂载。

三、备份与恢复

备份

docker run --volumes-from dbdata -v $(pwd)/backup:/backup --name copydata centos tar cvf /backup/copydata.tar /dbdata
上面的命令创建了 copydata 的容器,并挂挂载 dbdata 的数据卷,这样就可以访问 dbdata 的数据;-v 参数,将本地主机的 backup 挂载到 copydata 容器的/backup 目录;接着,使用 tar 命令将/dbdata 目录打包;经过以上操作,本地主机就有了该备份数据。

恢复

docker run -v /dbdata --name newdbdata centos

docker run --volumes-from newdbdata -v $(pwd)/backup:/backup --name recovery centos tar xvf /backup/copydata.tar
创建 recovery 容器,并挂载 newdbdata 容器的数据卷 dbdata;-v 参数,将本地主机的备份目录挂载到 recovery 容器 back 目录;接着,使用 tar 命令,解压缩备份包,恢复数据。


↙↙↙阅读原文可查看相关链接,并与作者交流