美文网首页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