美文网首页docker
3.Docker数据卷的备份与还原

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

作者: cooling2016 | 来源:发表于2016-12-26 13:17 被阅读476次

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

相关文章

网友评论

本文标题:3.Docker数据卷的备份与还原

本文链接:https://www.haomeiwen.com/subject/elmlvttx.html