• 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

    这条命令执行后就会退出

  • 相关阅读:
    JavaScript高级程序设计56.pdf
    JavaScript高级程序设计55.pdf
    JavaScript高级程序设计54.pdf
    JavaScript高级程序设计53.pdf
    JavaScript高级程序设计52.pdf
    php学习笔记2--安装apache遇到的问题
    php学习笔记1--开发环境搭建:apache+php+mysql
    Oracle学习笔记4 使用Navicat for Oracle 连接Oracle时出现错误:ORA-28547: connection to server failed, probable Oracle Net admin error
    Oracle 学习笔记3:新建数据库没有scott用户解决办法
    Oracle 学习笔记2:几个入门常用命令
  • 原文地址:https://www.cnblogs.com/fansik/p/5531997.html
Copyright © 2020-2023  润新知