Docker数据容器卷的创建备份和恢复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker数据容器卷的创建备份和恢复相关的知识,希望对你有一定的参考价值。
数据卷容器
如果容器之间需要共享一些持续更新的数据,最简单的方式就是是用户数据卷容器,数据卷容器就是一种普通容器,专门提供数据卷供其它容器挂载使用。
创建数据卷容器dbdata
docker run -v /dbdata:/dbdata --name dbdata centos
创建db1和db2两个容器,并使用--volumes-from挂载dbdata容器中的数据卷
docker run --volumes-from dbdata --name db1 centos
docker run --volumes-from dbdata --name db1 centos
三个容器任何一个容器在该目录下写入,其他容器都能看见。
[[email protected] ~]# cd /dbdata/
[[email protected] dbdata]# ls
[[email protected] dbdata]# touch index.html
在容器db1里查看
[[email protected] dbdata]# docker exec db1 ls
会看到有新建文件。
备份容器中的数据卷到本地
[[email protected] ~]# docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar zcf /backup/backup.tar.gz /dbdata
tar: Removing leading `/‘ from member names
[[email protected] ~]# ls
anaconda-ks.cfg backup.tar.gz
[[email protected] ~]# tar xvf backup.tar.gz
dbdata/
dbdata/test.file
[[email protected] ~]# ls
anaconda-ks.cfg backup.tar.gz dbdata
[[email protected] ~]# ls dbdata/
test.file
恢复
删除容器中的而文件
[[email protected] ~]# docker exec dbdata rm dbdata/test.file
[[email protected] ~]# docker exec dbdata ls dbdata
进行恢复
创建个带有数据卷的容器dbdata2
docker run -it -v /dbdata --name dbdata2 ubuntu /bin/bash
[[email protected] ~]# docker run --volumes-from dbdata2 -v $(pwd):/backup centos tar xvf /backup/backup.tar.gz
dbdata/
dbdata/test.file
查看恢复的
[[email protected] ~]# docker exec dbdata2 ls dbdata
test.file
以上是关于Docker数据容器卷的创建备份和恢复的主要内容,如果未能解决你的问题,请参考以下文章