zoukankan      html  css  js  c++  java
  • Docker数据管理

    1、挂载本地的目录到容器里

    # docker run -itd -v /data/:/data1/ centos bash //-v用来指定挂载的目录,/data/为本地目录,:/data1/为容器里的目录

    2、挂载数据卷

    挂载目录的时候,可以指定容器的name,如果不指定就随机定义了,比如上面我们没有指定,他就生成了一个名字为angry_ritchie的容器,这个名字可以用用docker ps看到,最右侧一列就是

    # docker run -itd --volumes-from angry_ritchie(容器的名字) centos bash

    这样,使用centos镜像创建了新容器,并且使用了angry_ritchie容器的数据卷

    3、定义数据卷容器

    有时候,我们需要多个容器之间共享数据,类似于linux里面的NFS,所以就可以搭建一个专门的数据卷容器,然后其他容器直接过载该数据卷:

    建立数据卷容器

    # docker run -itd -v /data/ --name fansik centos bash //注意这里的/data/是容器的/data目录,并非本地的/data/目录

    然后让其他容器挂载该数据卷

    # docker run -itd --volumes-from fansik --name=zhangsan centos bash

    fansik容器就相当于NFS服务器,所有的数据都存储在fansik镜像上(所以fansik不能随意停止重启等)

    4、数据卷的备份

    在跟下创建备份目录backup:

    # mkdir backup

    使用fansik创建容器并把backup目录挂载到容器中

    # docker run -itd --volumes-from fansik -v /backup/:/backup/ centos bash

    进入容器会看到根目录下有个backup目录还有data目录

    # docker exec -it 5a4 bash

    将data目录打包,然后放到backup目录下,这样就可以在宿主机的backup里面看到我们备份的data数据了

    # tar cvf /backup/data.tar data

    5、数据卷的恢复

    本人恢复前已经把其他容器全部删除掉了,只是还想用以前容器名字

    先创建一个数据卷容器,再建一个新的容器并挂载该数据卷容器,然后再把tar包解包

    新建数据卷容器:

    # docker run -itd -v /data --name fansik centos bash

    挂载数据卷新建容器,并解包:

    # docker run --volumes-from fansik -v /backup/:/backup centos tar xvf /backup/data.tar

    这条命令执行后就会退出

  • 相关阅读:
    MySQL设置用户
    tensorflow学习笔记12
    tensorflow学习笔记11
    tensorflow学习笔记10
    tensorflow学习笔记9
    博雅机器学习十讲10
    博雅机器学习十讲9
    博雅机器学习十讲8
    博雅机器学习十讲7
    博雅机器学习十讲6
  • 原文地址:https://www.cnblogs.com/fansik/p/5531997.html
Copyright © 2011-2022 走看看