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

    docker两种存储资源类型

    用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉及到容器的数据管理

    1)Data Volume (数据卷)

    2)Data Volume Dontainers --- 数据卷容器

    Data Volume (数据卷)

    Data Volume 本质上是 Docker Host 文件系统中的目录或文件,使用类似与 Linux 下对目录或者文件进行 mount 操作。数据卷可以在容器之间共享和重用,对数据卷的更改会立马生效,对数据卷的更新不会影响镜像,卷会一直存在,直到没有容器使用

    Data Volume 有以下特点:

    a)Data Volume 是目录或文件,而非没有格式化的磁盘(块设备)。

    b)容器可以读写 volume 中的数据。

    c)volume 数据可以被永久的保存,即使使用它的容器已经销毁。

    Data Volume的使用:

    通过-v 参数格式为 <host path>:<container path>

    a)运行一个容器,并创建一个数据卷挂载到容器的目录上

    #docker run -dti -v /web centos:7.0 /bin/bash

    b)运行一个容器,本地创建/date目录挂载到容器的/var/log/目录上

    docker run -dti -v /data:/var/log centos:7.0 /bin/bash

    Data Volume Dontainers --- 数据卷容器

    如果用户需要在容器之间共享一些持续更新的数据,最简单的方法就是使用数据卷容器,其实数据卷容器就是一个普通的容器,只不过是专门用它提供数据卷供其他容器挂载使用

    Data Volume Dontainers使用:

    a)创建一个名为 dbdata 的数据卷,并在其中创建一个数据卷挂载到 /dbdata #docker run -dti -v /dbdata --name dbser centos:7.0

    --name 参数为给容器指定名字为dbser方便记忆

    b)其他容器使用--volume-from 去挂载dbser容器中的/dbdata数据卷

    eg :创建 db1&db2 两个容器, 并挂载 /dbdata 数据卷到本地

    #docker run -dti --volumes-from dbser --name db1 centos:7.0

    #docker run -dti --volumes-from dbser --name db2 centos:7.0

    此时,容器 db1 和 db2 同时挂载了同一个数据卷到本地相同 /dbdata 目录。三个容器任何一个目录下的写入,都可以时时同步到另外两个

  • 相关阅读:
    大话设计模式C++ 适配器模式
    36. Valid Sudoku
    c++ 常用的数据结构
    《大话设计模式》c++实现 状态模式
    c++ 各种类型转换
    38. Count and Say
    《大话设计模式》c++实现 抽象工厂模式
    66. Plus One
    49. Group Anagrams
    《大话设计模式》c++实现 建造者模式
  • 原文地址:https://www.cnblogs.com/kittywerwer/p/11742285.html
Copyright © 2011-2022 走看看