`

管理数据

阅读更多
    Docker 一般情况下的数据操作都是在容器上的可写层上进行的,但这却有下面这些缺点:
    1、数据不能在容器停止运行后保持持久化,而且也难以被其他容器使用。
    2、容器的可写层是与容器主机紧耦合的,导致难以把其中的数据移到其他地方。
    3、要写数据到容器可写层需要提供一个存储驱动(该驱动使用 Linux 内核提供了统一的文件系统),这就导致其相比较于直接写到主机文件系统的使用 Docker 数据卷(data volumes)的方式拥有更低的性能。
    因此,Docker 提供了三种方式来挂载容器中的数据:卷(volumes)、绑定挂载(bind mounts)和 tmpfs 挂载。其中使用卷是绝大部分情况下所推荐的。但无论使用哪种方式,数据在容器中看起来都是一样的,都是以目录或者单个文件的形式出现在容器的文件系统中的。下图很好地展示了这三者的区别。

    其中:
    * 卷方式被存储在由 Docker 管理的部分主机文件系统中(Linux 中位于 /var/lib/docker/volumes 下)。非 Docker 进程不应该修改这部分文件系统。这是 Docker 中持久化数据的最好方式。
    * 绑定挂载方式可把数据存储在主机系统的任意地方,甚至是重要的文件或目录中。非 Docker 进程在任意时刻都可能修改这些数据。
    * tmpfs 方式只是把数据储存在主机内存中,而不会写到主机的文件系统中。虽然它不能持久化数据,但却能有效地提升性能。
    要使用卷,可以在运行容器时使用“-v/--volume”或“--mount”选项(推荐后者),但如果需要指定具体的卷驱动,只能使用“--mount”。另外,“docker service create”命令也仅支持“--mount”选项。
    “-v/--volume”选项包含三个以冒号分隔的字段。第一个是卷的唯一名字(匿名卷则忽略该字段),第二个是将要挂载到容器中的文件或目录的路径,第三个是以逗号分隔的可选列表。
    “--mount”选项包含以逗号分隔的多个键值对。如“type”键可以是 colume、bind 或者 tmpfs;“source/src”键是卷名(匿名卷则忽略该字段);“destination/dst/target”键指定了容器中要挂载的目标路径;“readonly”键可挂载只读卷;“volume-opt”键接收包含选项名和对应值的键值对,这个键可指定多次。
    下面这个示例演示了卷的使用方式。
$ docker volume create my_col      # 创建卷
$ docker volume ls                 # 查看卷,“docker volume inspect”可查看更详细
DRIVER              VOLUME NAME
local               my_vol

# 启动容器时指定卷,这里 /app 不存在时会自动创建,如果它已经在容器中存在并且含有
# 内容,则其内容会一并复制到卷中,这样其他使用这个卷的容器也能访问到这些数据。
$ docker run -d \
  -it \
  --name devtest \
  --mount source=my_vol,target=/app \       # 或:-v my_col:/app
  # --mount source=my_vol,target=/app,readonly 或 -v my_vol:/app:ro 挂载只读卷到当前容器
  nginx:latest

$ docker inspect devtest       # 查看新容器的信息
....
"Mounts": [
    {
        "Type": "volume",
        "Name": "my_vol",
        "Source": "/var/lib/docker/volumes/my_vol/_data",
        "Destination": "/app",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
    }
],
...
$ docker container stop devtest    # 停止容器
$ docker container rm devtest      # 删除容器
$ docker volume rm my_vol          # 删除卷

    当使用“docker volume create”创建一个卷或启动的容器指定的卷还不存在时,都可以指定一个卷驱动。下面就以“vieux/sshfs”卷驱动为例来演示如何创建一个带卷驱动的卷。
# 方法一:
# 1、安装“vieux/sshfs”插件(本例子假设已经拥有两个主机节点,并且其中一个 docker
# 主机能用 SSH 连接到另一个)。
$ docker plugin install --grant-all-permissions vieux/sshfs

# 2、创建一个带有自定义卷驱动的卷(本例子指定了一个 SSH 密码,但如果两个主机共享键
# 配置,也可忽略该密码。每个卷都可以使用“-o”选项来指定多个配置选项)。
$ docker volume create --driver vieux/sshfs \
    -o sshcmd=test@node2:/home/test \
    -o password=testpassword \
    sshvolume

# 方法二:
# 启动一个容器时指定卷驱动(同上,如果两个主机共享键配置,也可忽略该密码)。
$ docker run -itd \
    --name sshfs-container \
    --volume-driver vieux/sshfs \
    --mount src=sshvolume,target=/app,volume-opt=sshcmd=test@node2:/home/test,volume-opt=password=testpassword \
    nginx:latest

    绑定挂载和 tmpfs 挂载的方式同卷大同小异,可自行前往官网查询对应的参数限制。
  • 大小: 14.5 KB
分享到:
评论

相关推荐

    PMP项目管理数据流导向

    PMP(项目管理专业人士证书)是项目管理领域内的重要认证,而项目管理数据流导向则是指在项目管理过程中,如何合理地组织、管理和传递项目的数据,以确保项目目标的有效实现。数据流导向是项目管理中数据流向管理的...

    数据管理数据管理

    在这个过程中,数据被视为企业的关键资产,有效管理数据对于企业的竞争力至关重要。 在描述中反复提到“数据管理数据管理”,这可能暗示着对这个主题的深入探讨或强调其重要性。数据管理通常包括以下几个关键方面:...

    集团企业数据治理主数据管理元数据管理数据质量数据指标管控PPT资料(21份).zip

    集团企业数据治理主数据管理元数据管理数据质量数据指标管控PPT资料(21份) ERP主数据与业务数据关系.pptx Informatica主数据管理建设方案74.ppt list.txt Oracle-MDM主数据管理方案(28页).pptx Oracle_MDM基础...

    企业数据治理主数据管理数据安全管理制度数据资产管理参考学习资料(40份).zip

    数据治理体系规范文档-应急管理数据治理[203页Word].docx 数据治理全过程域工具包研究(27页 PPT).pptx 数据治理平台功能架构规划方案.docx 数据治理方案(88页).pptx 数据治理方法论与顶层设计思路[36页PPT].pptx...

    29-应急管理数据治理技术规范:数据管控-标签管理技术要求(征求意见稿).pdf

    29-应急管理数据治理技术规范:数据管控-标签管理技术要求(征求意见稿).pdf

    《数据可视化》教学课件—项目二 Tableau 连接与管理数据.pdf

    《数据可视化》教学课件—项目二 Tableau 连接与管理数据.pdf《数据可视化》教学课件—项目二 Tableau 连接与管理数据.pdf《数据可视化》教学课件—项目二 Tableau 连接与管理数据.pdf《数据可视化》教学课件—项目...

    数据质量元数据管理平台用户操作手册.pdf

    数据质量元数据管理平台用户操作手册旨在提供数据质量元数据管理的解决方案,帮助用户更好地管理数据质量和元数据。本手册将指导用户如何使用数据质量元数据管理平台,进行数据质量管理和元数据管理。 1.1 编写目的...

    高校教务管理系统数据设计(数据流图)

    《高校教务管理系统数据设计与数据流图解析》 高校教务管理系统是高等教育机构不可或缺的信息管理系统,它涵盖了从学生入学到毕业的全过程管理,旨在优化教育资源分配,提高教学效率,保障教育质量。本文将深入探讨...

    数据中台之主数据管理.pdf

    数据中台之主数据管理 数据中台之主数据管理是指在数据中台中对主数据的统一管理和维护,确保主数据的唯一性、规范性和高效性。主数据管理的目标是统一数据标准和规范,确保主数据的权威性和可靠性,提高数据维护...

    学生成绩管理系统 数据流程图

    学生成绩管理系统数据流程图 学生成绩管理系统是为了适应现代化学校管理的需要,加快推进我校数字化校园建设、充分利用校园网,利用网络、多媒体等计算机应用技术和手段,提高办公效率、改善质量的高效管理信息系统...

    数据资产管理实践白皮书(4.0版).pdf

    数据是资产的概念已经成为行业共识。然而现实中,对数据资产 的管理和应用往往还处于摸索阶段,数据资产管理面临诸多挑战。首 先,大部分企业和政府部门的数据基础还很...估,从而难以像运营有形资产一样管理数据资产。

    探索医院数据管理和数据治理之道v2.pdf

    医院作为重要的数据产生和应用场所,如何有效地管理数据,确保数据的安全、质量与合规性,成为了提高医疗服务质量、科研水平以及医院运营效率的关键。医院数据管理和数据治理是解决这一系列问题的重要手段。 数据...

    使用Oracle数据集成平台管理数据.pptx

    使用Oracle数据集成平台管理数据.pptx

    教务管理系统数据流图

    ### 教务管理系统数据流图知识点解析 #### 一、数据流图概述 在软件工程领域,数据流图(Data Flow Diagram,简称DFD)是一种常用的方法,用于描绘信息流和处理过程。它通过图形化的表示来展示系统的逻辑流程,...

    DAMA-DMBOK-数据管理知识体系3.0.pdf

    数据管理知识体系(DMBOK)是数据管理专业的核心组成部分,其目的是提供一个通用的数据管理框架,帮助数据管理专业人士在日常工作中更好地管理数据。DMBOK涵盖了数据管理的各个方面,包括数据管理职能、环境元素、...

    数据资产管理数据资产管控平台管理办法数据资产入表数据要素入表解决方案讲解PPT及word资料(29份).zip

    从数据资源到数据资产管理(29页 PPT).pptx 企业数据要素平台解决方案.pptx 企业数据资产入表路径及方法完整解析.docx 企业数据资产化及数据资产入表解决方案(33页 ).pptx 关于数据要素市场建构与数据要素产业...

    银行经营管理指标数据元.pdf

    银行经营管理指标数据元

    数据化管理:洞悉零售及电子商务运营.pdf

    根据提供的文件信息,“数据化管理:洞悉零售及电子商务运营.pdf”,我们可以推断出这份文档主要探讨了如何在零售及电子商务行业中运用数据化管理的方法和技术来优化运营效率、提升客户体验以及实现业务增长等方面的...

Global site tag (gtag.js) - Google Analytics