• 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

    这条命令执行后就会退出

  • 相关阅读:
    Java多线程学习(吐血超具体总结)
    java.lang.Integer can not be cast to java.lang.Long
    【转】随身HiFi 安卓OTG功能在音频上的妙用
    【转】锋狂百科:手机也能接外设 OTG技术详解
    【转】用串口登录Beaglebone Black、用usb共享电脑网络、内核模块的本地编译
    【转】Beagleboard:BeagleBoneBlack
    【转】
    【转】Beaglebone Black
    【转】你应该知道的 10 个 VirtualBox 技巧与高级特性
    如何把SKYPE的发送消息由enter改为ctrl+enter?
  • 原文地址:https://www.cnblogs.com/fansik/p/5531997.html
Copyright © 2020-2023  润新知