首页 > 其他分享 >五、容器数据卷(Volume)

五、容器数据卷(Volume)

时间:2023-11-29 10:47:46浏览次数:47  
标签:容器 data 宿主机 redis Volume docker 数据

1.什么是容器数据卷

先来看看Docker的理念:

  • 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的

  • 容器之间希望有可能共享数据

Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来, 那么当容器删除后,数据自然也就没有了。

为了能保存数据在docker中我们使用卷。

2.能干嘛

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷

特点: 1:数据卷可在容器之间共享或重用数据 2:卷中的更改可以直接生效 3:数据卷中的更改不会包含在镜像的更新中 4:数据卷的生命周期一直持续到没有容器使用它为止

3.作用

  • 容器的持久化

  • 容器间的继承+共享数据

4. 数据卷

4.1 命令添加

  • 语法:docker run -it -v /宿主机绝对路径:/容器内目录 镜像名

    mkdir redis
    cd redis
    docker run -it -v /redis/data:/data --name=c_redis redis:3.2

     

  • 查看数据卷是否挂载成功:docker inspect 容器ID

    例如:

    docker inspect registry
    "Mounts": [
                {
                  "Type": "bind",
                    "Source": "/opt/registry",
                    "Destination": "/var/lib/registry",
                    "Mode": "",
                    "RW": true,
                    "Propagation": "rprivate"
                },
                {
                    "Type": "bind",
                    "Source": "/opt/registry/config.yml",
                    "Destination": "/etc/docker/registry/config.yml",
                    "Mode": "",
                    "RW": true,
                    "Propagation": "rprivate"
                }
            ],

     

 

4.2 容器内的读写规则

rw: 英文全称read write的缩写,表示可读可写(默认规则)

ro: 英文全称read only 的缩写,表示只读

例:

docker run -id -v /redis/data:/data:ro --name=redis1 redis:3.2

 

读写规则只是限制容器内部,宿主机不会被限制

 

4.3 容器卷的继承

语法:

docker run -id --volumes-from 父类 --name='Container2' 镜像名字或容器ID:版本号

docker run -id --volumes-from redis1 --name=redis2 redis:3.2

 

课堂演示:

(1) 在容器redis1中创建一个test1.txt 文件,分别查看宿主机/redis/data 目录与容器redis2中的 /data目录

(2) 在容器redis2中创建一个test2.txt 文件,分别查看宿主机/redis/data 目录与容器redis1中的 /data目录

(3) 宿主机/redis/data 目录创建文件test_data.txt,分别在redis1,redis2 容器的/data 目录中查看情况

(4) 将redis1 容器停止,在宿主机中创建一个test_stop.txt文件,然后再将redis1容器开启,分别查看情况

 

4.4 Dockerfile添加

可在Dockerfile中使用VOLUME指令 来给镜像添加一个或多个数据卷

VOLUME["/dataVolumeContainer","/dataVolumeContainer2","/dataVolumeContainer3"]

 

说明:

出于可移植和分享的考虑,用-v 主机目录:容器目录这种方法不能够直接在Dockerfile中实现。 由于宿主机目录是依赖于特定宿主机的,并不能够保证在所有的宿主机上都存在这样的特定目录。

  配套视频链接:全网首发java/.net双案例Docker精品课程,Docker 进阶教程(双语言双案例助力教学)-已完结_哔哩哔哩_bilibili

标签:容器,data,宿主机,redis,Volume,docker,数据
From: https://www.cnblogs.com/xuyubing/p/17863979.html

相关文章

  • Docker + supervisor在同一容器中部署zookeeper和kafka
    使用supervisor进程管理工具,在同一个容器中部署zookeeper和kafka目录Dockerfilejdk1.8.0_181.tar.gzkafka_2.12-1.1.0.tgzconf.ddocker-compose.ymlkafka_conf.dconf.d中为supervisor配置文件kafka_conf.d中为kafka配置文件,解压kafka_2.12-1.1.0.tgz中的配置文件,拷贝......
  • 如何查看数据库正在执行的 SQL ?
    在数据库使用中,我们经常需要进行性能优化、故障排查等工作,便捷的查看数据库正在执行的SQL,则可以大大简化这些工作。在MySQL中,可以通过SHOWPROCESSLIST或SHOWFULLPROCESSLIST获得当前正在连接的线程,也可以看到正在运行的SQL。最近,NineData发布了查看会话功能,可以帮助开发者、DBA......
  • SPSS Modeler分析物流发货明细数据:K-MEANS(K均值)聚类和Apriori关联规则挖掘|附代码数据
    物流发货明细数据在现代物流业中扮演着至关重要的角色。通过对这些数据进行挖掘和分析,我们可以发现隐含在背后的供应链运营规律和商业模式,从而指导企业在物流策略、成本管理和客户服务等方面做出更加科学和有效的决策。SPSSModeler是一款功能强大、界面友好的数据挖掘和分析工具,......
  • R语言贝叶斯Metropolis-Hastings Gibbs 吉布斯采样器估计变点指数分布分析泊松过程车
    最近我们被客户要求撰写关于吉布斯采样器的研究报告,包括一些图形和统计输出。指数分布是泊松过程中事件之间时间的概率分布,因此它用于预测到下一个事件的等待时间,例如,您需要在公共汽车站等待的时间,直到下一班车到了。在本文中,我们将使用指数分布,假设它的参数λ,即事件之间的平均......
  • el-table修改某一行数据不生效怎么回事?
    1<el-table2ref="multipleTable"3:class="{'no-multiple':!isMultiple}"4@select="selectTable"5border6:key="isUpdate"7:data="tableData"8>9&......
  • linux启动mysql数据库,报错mysql: error while loading shared libraries: libtinfo.so
    如下 原因: 解决方案:1、在/usr/lib64目录里面找一个差不多名称版本的文件进行链接#软连接出一个新的文件sudoln-s/usr/lib64/libtinfo.so.6.1/usr/lib64/libtinfo.so.5若本服务器没有相近版本的文件2、从其他服务器下载一个libtinfo.so.5拷贝进去即可,或者下载相近版本......
  • linux安装MySQL数据库初始化报错
    在使用如下初始化命令进行数据库初始化时报错,./bin/mysqld--user=mysql--basedir=/usr/local/mysql/mysql/--datadir=/usr/local/mysql/mysql/data/--initialize--lower-case-table-names=1; 权限不足导致,修改命令为:./bin/mysqld--user=root--basedir=/usr/local/mysql/m......
  • 数据治理与数据入表、数据交易有什么关系?
    数据作为关键生产要素,其乘数效应的发挥离不开数据要素保有量的丰富程度、数据要素市场的发展成熟度以及数据要素应用路径的清晰度。财政部2023年8月21日发布了《企业数据资源相关会计处理暂行规定》,标志着企业数据资源入表迈出了0到1的关键一步。与此同时,数据要素、数据产品、数据......
  • SeaTunnel引擎下的SQL Server CDC解决方案:构建高效数据管道
    在快速发展的数据驱动时代,实时数据处理已经成为企业决策和运营的关键因素。特别是在处理来自各种数据源的信息时,如何确保数据的及时、准确和高效同步变得尤为重要。本文着重介绍了如何利用SqlServerCDC源连接器在SeaTunnel框架下实现SQLServer到其他数据系统的实时数据同......
  • 数据库系统概述之国产数据库
    当今世界,数据已成为重要的生产要素,数据库管理系统更是广泛应用于信息化行业各领域,国内数据库产业能否健康可持续的发展,在很大程度上影响着国民经济发展和网络空间安全。当前,国产数据库行业竞争非常激烈,近几年多就有多达200多家数据库公司成立。人大金仓、达梦、南大通用等是老牌数......