3.Docker数据卷的备份与还原

1. 准备:

1.创建一个数据卷:

docker run -itd --name test2 -v /home/jamesz2011/data/test2:/test2 ubuntu /bin/bash

2.向数据卷容器中写入数据:

    1. 进入数据卷容器:
docker run exec -it test2 /bin/bash
cd test2
  • 2.创建一个文件并在文件中输入“hello world”:
touch word
echo "hello world" > word

3.进入宿主机的容器挂在目录:

ls
cd data
cd test2
ls
cat word

【注意】

  • 1.如果看到输出“hello world”则证明容器数据与宿主机已成功实现数据共享。
  • 2.当容器被删除,宿主机的数据共享目录不会被删除。
  • 3.如果需要从宿主机复制文件到宿主机的数据共享目录,需要使用sudo获取root权限执行复制添加操作。
  • 4.如果新建的数据卷容器关联宿主机已有的数据共享目录,则数据共享目录中的数据会被复制到数据卷容器中 。
  • 5.数据卷的权限只有rw/r,无x权限,默认rw。

2.备份数据卷容器:

    1. 新建一个容器【test2backup】用来备份数据卷容器test2,将数据用tar打包,存储在backup文件中,指定备份的数据卷为test2(容器中的)。
docker run -it --name test2backup --volumes-from test2  -v /home/jamesz2011/backup:/backup ubuntu  tar cvf /backup/test2backup.tar /test2
或者:

  • 2.查看宿主机下是否有test2backup.tar文件:
cd backup
ls

3.删除数据卷容器test1中的word文件:

cd test2
ls
rm -vf word
ls

4.将test2backup.tar中的数据还原到test2容器中【即将word文件进行恢复操作】。

sudo docker run -v /home/jamesz2011/data/test2 --name test2rec1 ubuntu /bin/bash


sudo docker run --volumes-from test2rec1 -v /home/jamesz2011/backup:/backup ubuntu tar xvf /backup/test2backup.tar

---参考:----test2必须是运行状态

sudo docker run --volumes-from test2 -v /home/jamesz2011/backup:/backup ubuntu tar xvf /backup/test2backup.tar
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 5,803评论 0 7
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,585评论 0 120
  • 四季绿色
    一帆风顺呐阅读 1,547评论 1 0
  • 每次看到这样的新闻, 我的心都为之一紧! 作为妈妈, 从第一次看到孩子摔跤受伤, 我就恨, 恨不得我有一千只眼,一...
    张庆堂阅读 3,971评论 0 0