Docker Volume数据卷

Posted 水月情缘雪飞飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Volume数据卷相关的知识,希望对你有一定的参考价值。

@[TOC]Docker Volume数据卷

简介

推荐

Docker官网 数据管理

悟尘记电子书 - 数据持久化存储与性能调优

介绍

挂载卷的方式 -volume 与 --mount

-v 或–volume 由三个字段组成,以冒号字符 ( :)分隔

卷的名称(或本机目录):容器的目录:权限

  • 卷的名称,匿名卷可省略。并且在给定的主机上是唯一的。
  • 文件或目录在容器中挂载的路径
  • 选项列表,是一个以逗号分隔的选项列表,ro consistent cached delegated 等

数据卷:容器目录

-v volume_data:/data

本机目录:容器目录

-v /data:/data

选项列表

选项列表:权限ro(只读)

-v volume_data:/data:ro

选项列表:同步级别 挂载卷性能问题 本机目录:容器目录:选项列表(consistent,cached,delegated)

挂载卷性能问题:

本机目录:容器目录 运行程序时会出现缓慢的状态,即使使用了 cached或delegated,也达不到最理想的状态

数据卷:容器目录 才可以做到最理想的访问速度

  • consistent 默认值,完美的一致性,即主机和容器实时一致。

-v /data:/data:consistent

  • cached 主机具有权威性。容器执行的写操作对主机是立即可见的,但是在主机上执行的写操作可能不会立即反应在容器内

-v /data:/data:cached

  • delegated 容器的内容具有权威性。提供最弱保证,由容器执行的写操作可能不会立即反映在主机文件系统上,提供的性能要比其他配置好得多。

-v /data:/data:delegated

示例:

docker run --rm -d \\
# 数据卷:容器目录
-v volume_data:/data \\
# 本机目录:容器目录
-v /data:/data \\
# 数据卷:容器目录:权限
-v /data:/data:cached \\
debian:buster-slim

–mount 由多个键值对组成,以逗号分隔,每个键值对由一个=元组组成

  • type: 类型:bind,volume(默认),tmpfs
  • source|src:挂载方式。1:命名卷,值是卷的名称。2:匿名卷,省略此字段
  • destination|dst|target: 容器中的文件或目录路径
  • volume-opt: 选项 ro(只读)

示例:

docker run -d \\
  --mount src=volume_data,target=/app \\
  nginx:latest

两者之间的差异,错误界别不同

如果您使用-v或–volume绑定挂载 Docker 主机上尚不存在的文件或目录,请-v为您创建端点。它始终创建为目录。

如果您使用–mount绑定贴装尚不泊坞窗主机上存在的文件或目录,码头工人也不会自动为您创建它,但会产生一个错误。

备份,还原或迁移数据卷

以上是关于Docker Volume数据卷的主要内容,如果未能解决你的问题,请参考以下文章

Docker Volume数据卷

Docker Volume数据卷

Docker Volume数据卷

Docker之数据卷Volume

Docker Volume 之权限管理

Docker Volume 之权限管理