• Docker 容器的数据管理


    docker 容器的数据卷

    什么是数据卷(DataVolume)

    数据卷是经过特殊计的目录,可以绕过联合文件系统(UFS),为一个或多个容器提供访问。

    数据卷设计的目的,在于数据的永久化,它完全独立与容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理。

    docker数据卷是独立于容器,存在于宿主机Host里。数据卷可以是目录,也可以是文件。数据卷可以实现多个容器的数据共享和交换。

    数据卷(DataVolume)的特点

    • 数据卷在容器启动时初始化,如果容器使用的铺像在挂载点包含了数据,这些
      数据会拷贝到新初始化的数据卷中。
    • 数据卷可以在容器之间共享和重用
    • 可以对数据卷里的内容直接进行修改
    • 数据卷的变化不会影响像的更新
    • 卷会一直存在,即使挂载数据卷的容器已经被删除

    为容器添加数据卷

    sudo docker run -v ~/containerdata:/data -it ubuntu/bin/bash

    为数据卷添加访问权限

    $dockerrun -v ~/datavolume:/data:ro -it ubuntu/bin/bash只读

    使用Dockerfile构建包含数据卷的镜像

    DockerfiIe指令:VOLUME["/data"]

    创建的目录不能映射已存在的本地文件目录中,运行同样镜像所建的数据卷也是不同的。本地目录由docker自动创建。

    docker 的数据卷容器

    命名的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据卷的容器,就叫做数据卷容器。

    挂载数据卷容器的方法:
    docker run --volumes-from [CONTAINERNAME]

    简化inspect返回信息,只查看volume信息:
    docker inspect --format="{{.volumes}}" CONTAINER-NAME

    即使删除了数据卷容器,挂载这个数据卷容器的容器仍然可以访问数据卷挂载目录,即数据卷容器只是一个配置信息的传递

    docker rm -v CONTAINER_NAME连同volume一起删除(依旧可以访问,实质是指向本地目录)

    docker 数据卷的备份和还原

    数据备份方法

    docker run --volumes-from [container name] -v $(pwd):/backup ubuntu

    tar cvf /backup/backup.tar [container data volume]

    数据换原方法

    docker run --volumes-from [container name] -v$(pwd):/backup ubuntu
    tar xvf /backup/backup.tar [container data volume]

  • 相关阅读:
    !!!C#——进制转换!
    冒泡排序后用二分查找法查找位置
    简陋的4位验证码程序(范围内取随机数)
    这个年龄计算程序相当不科学,体验还是差差哒
    8.7课堂随笔
    字符串中查询关键字
    !汉企的WiFi网速好快
    重度强迫症患者的九九乘法表
    自选数字和范围的整除算法
    day52
  • 原文地址:https://www.cnblogs.com/boxker/p/10631429.html
Copyright © 2020-2023  润新知