Docker基础篇之Docker容器数据卷

文章目录

    • 1. Docker配置容器卷配置时的一个建议
    • 2. Docker容器卷目录
    • 3. Docker容器卷案例

1. Docker配置容器卷配置时的一个建议

Docker挂载主机目录访问如果出现cannot open directory.:Permission dnied
解决方法:在挂载目录后加一个–privileged=true

如果是Centos安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认是不安全的行为,在Selinux里面挂载目录被禁止掉了,如果要开启一般使用–privileged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即使用该参数,container内的root拥有真正的root权限,否则container内的root只是外部的一个普通用户权限

容器挂载使用-v命令,如果不配置容器加载,容器的目录会被默认挂载在/var/lib/registry目录下

2. Docker容器卷目录

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:卷的目的就是数据的持久化,完全独立于容器的生命周期,因此Docker不会在容器删除时删除其挂载的数据卷。

一句话就是将docker容器中的数据保存到宿主机的磁盘中以达到数据持久化的目的

运行命令如下:

docker run -it --privileged=true -v/宿主机绝对路径目录:/容器内目录 镜像名

docker数据卷将运用与运行环境打包镜像,run后形成容器实例运行,但是我们对数据的要求希望是持久化。Docker容器产生的数据,如果不备份,那么容器实例删除后,容器内的数据就消失了。为了能保存数据在docker中我们使用卷,它有如下特点:

  • 数据卷可在容器之间共享或重用数据
  • 卷中的更改可以直接实时生效
  • 数据卷中的更改不会包含在镜像的更新中
  • 数据卷的生命周期一致持续到没有容器使用它为止

3. Docker容器卷案例

  • 容器卷与主机互通互联
docker run -it --privileged=true -v /Users/jackchai/Desktop/Self-study-notes/DockerRegistry/test/host_data:/tmp/docker_data --name=u1 ubuntu

上面命令就是将ubuntu中/tmp/docker_data目录(如果容器中没有这个目录,Docker会帮我们自动创建)挂载到了本机的/Users/jackchai/Desktop/Self-study-notes/DockerRegistry/test/host_data目录下了。
在这里插入图片描述
我们进入容器的/tmp/docker_data目录下,并创建一个文件:
在这里插入图片描述
然后我们查看本机的挂载目录下的情况:

在这里插入图片描述

可以发现容器中创建的文件被备份到了主机

然后我们在主机上创建一个文件:

在这里插入图片描述
然后查看容器中的情况:

在这里插入图片描述

可以发现容器中也自动同步了我们创建的文件

docker inspect [容器ID]命令可以查看容器卷挂载情况

在这里插入图片描述

  • 读写规则映射添加说明

前面的案例容器卷可以写,主机挂载目录也可以写,然后主机和容器之间可以实现互联互通,这是Docker容器卷挂载的默认读写规则。(同时支持读与写rw)

如果我们现在有一个需求:希望容器卷中的数据是可读但不可写的,主机上的挂载目录可读可写

针对上面需求我们修改一下命令即可:

#加了个:ro(read only)
docker run -it --privileged=true -v /Users/jackchai/Desktop/Self-study-notes/DockerRegistry/test/host_data:/tmp/docker_data:ro --name=u1 ubuntu
  • 卷的继承和共享

如果现在一个容器a(容器名)在主机上挂载了容器卷,现在又来了一个容器b想要继承a的容器卷,只需要执行下面命令:

docker run -it --privileged=true --volumes-from a --name b ubuntu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675968.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动手学深度学习4.8 数值稳定性和模型初始化-笔记练习(PyTorch)

以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:14 数值稳定性 模型初始化和激活函数【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址&…

C语言指针用法完善篇

一,指针定义: 1,讲解 指针变量用来记录地址数据,没有记录有效地址的指针变量不可以使用。 定义一个变量A和一个指针B,此时变量A存放在内存1000区间,将变量A赋值给指针变量B,此时指针变量B所接收到的并不是…

冯喜运:6.3黄金原油晚间最新行情及独家操作策略指导

【黄金消息面分析】:在全球经济的波动和不确定性中,黄金作为传统的避险资产,其价格走势和市场分析一直是投资者关注的焦点。本周一(北京时间6月3日),现货黄金价格基本持平,交易商正在等待本周公…

Leecode---技巧---颜色分类、下一个排列、寻找重复数

思路&#xff1a; 遍历一遍记录0,1,2的个数&#xff0c;然后再遍历一次&#xff0c;按照0,1,2的个数修改nums即可。 class Solution { public:void sortColors(vector<int>& nums){int n0 0, n1 0, n2 0;for(int x: nums){if(x0) n0;else if(x1) n1;else n2;}for…

机器学习第十一次课

前言 从现在开始进入神经网络的领域了 正文 先是一段历史介绍,这个就跳过吧,我觉得这里最重要的就是反向传播这里 反向传播 反向传播&#xff08;Backpropagation&#xff09;是一种训练人工神经网络的算法&#xff0c;它通过计算损失函数关于网络参数的梯度来调整网络参数…

MySQL事务与并发控制案例

目录 1. MySQL在事务与并发控制情况下加锁案例实现 2. 锁超时或死锁怎么办&#xff1f; 1. MySQL在事务与并发控制情况下加锁案例实现 第一步&#xff1a;开启一个事务并发锁 第二步&#xff1a;对加X锁&#xff08;排他锁&#xff09;的数据进行操作 可以看到锁被阻塞了&am…

YOLOv10训练教程—用YOLOv10训练自己的数据集

文章目录 YOLOv10简介亮点模型介绍 下载源码环境配置准备数据集训练模型&#xff1a;命令行py文件 验证模型推理参考文献 ✨✨✨✨立志真正解决大家问题&#xff0c;只写精品博客文章&#xff0c;感谢关注&#xff0c;共同进步✨✨✨✨ YOLOv9还没捂热乎&#xff0c;YOLOv10就推…

初中英语优秀作文分析-003My Favorite Movie Type-我最喜欢的电影类型

PDF格式公众号回复关键字:SHCZYF003 记忆树 1 I’d like to share my favorite movie type with you. 翻译 我想和你分享我最喜欢的电影类型。 简化记忆 电影类型 句子结构 I 主语 我&#xff0c;would 情态动词 愿意做某事&#xff0c;like 谓语 喜欢&#xff0c;to sha…

zynq-7015启动分析及裸机BootLoader编写(未完待续)

使用lwip-tcp远程对QSPI进行更新、QSPI FLASH启动 W25Q128资料&#xff1a; W25Q128JV datasheet(1/78 Pages) WINBOND | 3V 128M-bit serial flash memory with dual/quad spi (alldatasheet.com) UG585资料&#xff1a; Zynq 7000 SoC Technical Reference Manual-UG585 翻译…

SQL进阶day9————聚合与分组

目录 1聚合函数 1.1SQL类别高难度试卷得分的截断平均值 1.2统计作答次数 1.3 得分不小于平均分的最低分 2 分组查询 2.1平均活跃天数和月活人数 2.2 月总刷题数和日均刷题数 2.3未完成试卷数大于1的有效用户 1聚合函数 1.1SQL类别高难度试卷得分的截断平均值 我的错误…

JUC从实战到源码:悲观锁和乐观锁真正了解了吗

【JUC】- 多线程与锁的知识 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习心得&#xff0c;欢迎指…

语音群呼之语音导航的应用

在数字化时代&#xff0c;语音群呼技术已成为企业、组织和个人高效沟通的重要工具。语音群呼不仅能够快速地将信息传递给目标群体&#xff0c;而且通过语音导航功能&#xff0c;还能确保信息传达的准确性和用户体验的优质性。本文将深入探讨语音群呼的语音导航功能&#xff0c;…

三菱M5-559 KURU TOGA advance断芯清理维修

三菱559自动铅笔使用过程中突然不出芯了&#xff0c;后面装芯出不来&#xff0c;前面插笔芯进不去&#xff0c;网上搜索&#xff0c;发现这支笔要按照下面的方法拆开清理&#xff0c;这里记录一下方便大家查看&#xff1a; 1、拧掉笔头外面的罩子。 2、要大胆一点&#xff0c…

图形学初识--深度测试

文章目录 前言正文为什么要有深度测试&#xff1f;画家算法循环遮挡 深度测试当代最常见实现方式&#xff1f;总述什么是z-buffer呢&#xff1f;z-buffer从哪来呢&#xff1f;如何利用z-buffer实现深度测试&#xff1f;举个例子 结尾&#xff1a;喜欢的小伙伴点点关注赞哦! 前言…

【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别

目录 一、 动态SQL1.1 \<if>标签1.2 \<trim>标签1.3 \<where>标签1.4 \<set>标签1.5 \<foreach>标签1.6 \<include>标签 二、 #{}与${}的区别2.1 #{}是预编译sql&#xff0c;${}是即时sql2.2 SQL注入2.3 #{}性能高于${}2.4 ${}用于排序功能…

SpringBoot案例,通关版

项目目录 此项目为了伙伴们可以快速入手SpringBoot项目,全网最详细的版本,每个伙伴都可以学会,这个项目每一步都会带大家做,学完后可以保证熟悉SpringBoot的开发流程项目介绍:项目使用springboot mybatis进行开发带你一起写小项目先把初始环境给你们第一步新建springboot项目返…

短剧出海的优势分析

海外短剧作为一种新兴的内容形式&#xff0c;正以其独特的魅力迅速占领市场&#xff0c;为企业带来了前所未有的商业机遇。本文将深入探讨短剧出海的优势&#xff0c;并为企业和老板们提供实用的操作指南。短剧出海是一个包含多个步骤的复杂过程&#xff0c;短剧出海需要综合考…

第100天:权限提升-数据库RedisPostgre第三方软件TV向日葵服务类

目录 思维导图 案例一: 数据库-Redis 数据库权限提升-计划任务 案例二: 数据库-PostgreSQL 数据库权限提升-漏洞 PostgreSQL 提权漏洞&#xff08;CVE-2018-1058&#xff09; PostgreSQL 高权限命令执行漏洞&#xff08;CVE-2019-9193&#xff09; 案例三: 三方应用-…

使用system verilog进行流水灯和VGA打印字符

使用system verilog进行流水灯和VGA打印字符 目录 **使用system verilog进行流水灯和VGA打印字符****system verilog的优点****VGA程序编写**VGA 控制器模块字符生成模块顶层模块测试基准程序**效果** **流水灯程序设计****效果** **总结** system verilog的优点 面向对象编程…

C# WinForm —— 27 28 29 30 ListView 介绍与应用

1. 简介 和ListBox的外观类似&#xff0c;都可以多列显示&#xff0c;但 ListView 功能更强大&#xff0c;提供了5种不同的显示方式 2. 属性 属性解释(Name)控件ID&#xff0c;在代码里引用的时候会用到Enabled控件是否启用CheckBoxes复选框是否显示在项旁边ContextMenuStri…