Docker(七)-Docker容器数据卷

news2024/12/24 9:15:02

1.容器数据卷是什么

卷就是目录或者文件,存在于一个或者多个容器中,由docker挂载到容器,不属于容器内(类似于笔记本电脑外的一个移动硬盘)。
卷的设计目的就是数据持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

2.挂载目录没有权限的问题

--privileged=true
Docker挂载主机目录访问如果出现cannot open directory..Permission denied
解决办法:
	在挂载目录后多加一个--privileged=true参数即可
即使用该参数,container内的root拥有真正的root权限,否则,container内的root
只是外部的一个普通用户权限。

3.自定义容器卷

-v:添加自定义容器卷
docker run -it --privileged=true -v 【宿主机绝对路径】:【容器内路径】 镜像名

-v 【/宿主机绝对路径/:/容器内路径】
启动某个容器实例之后,完成容器内的路径与宿主机的某个绝对路径信息共享、互通、互联
默认情况下,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便与宿主机联调。

4.容器卷应用场景

保证容器数据持久化。
Docker容器产生的数据,如果不备份,那么当容器实例删除或者docker重启后,容器内的
数据自然也就没有了。

5.容器卷特点

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

6.实战

6.1宿主机-容器之间映射添加容器卷
docker run -it --privileged=true -v /tmp/hostData:/tmp/dockerData ubuntu

在这里插入图片描述

如果命令中的目录不存在,在放开权限(--privileged=true)的情况下会自动创建。

在这里插入图片描述

在容器目录/tmp/dockerData下新建dockerin.txt文件后进入宿主机/tmp/hostData目录下
会发现文件已映射

在这里插入图片描述

同样在宿主机/tmp/hostData目录下新建hostin.txt文件后进入容器目录/tmp/dockerData下会发现文件已映射

在这里插入图片描述

注:
	1.宿主机或者容器目录中修改文件内容同样也会进行映射
	2.当容器停止后,在宿主机目录中添加或者修改文件,当容器启动后,同样也会进行映射
6.2查看数据卷是否挂载成功
docker inspect 【容器id】

Mounts:挂载
Source:宿主机目录
Destination:容器目录

在这里插入图片描述

6.3读写规则映射添加说明
宿主机与容器映射添加容器卷 默认规则为 读写(rw)
命令如下:
docker run -it --privileged=true -v 【宿主机绝对路径】:【容器内路径】:rw 镜像名

容器实例限制,只能读不能写
docker run -it --privileged=true -v 【宿主机绝对路径】:【容器内路径】:ro 镜像名
docker run -it --privileged=true -v /tmp/hostData:/tmp/dockerData:ro ubuntu

在这里插入图片描述

6.4容器卷之间继承
相当于一个宿主机挂载两个容器卷,两个容器卷内容相互共享。其中一个挂了,另一个不受影响,重启过后内容也会相同

docker run -it --privileged=true --volumes-from 【父容器卷】【镜像】

docker run -it --privileged=true --volumes-from 15f7ec25a9b5 ubuntu

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java基于ssm+jsp 师生交流平台

1 管理员登录 管理员输入个人的账号、密码登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的账号、密码不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的账号、密码,直到账…

css3新增了选择器,还有人不知道吗?

伪元素选择器 示例 结语 前言 CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素,你还不知道吗? 属性选择器 属性选择器可以根据元素特定属性的来选择元素。这样就可以不用借助于类或者 id 选择器。 | 选择符 | …

.tar格式软核文件如何在Xplorer的安装

.tar格式软核文件如何在Xplorer的安装 一,简介二,官方软核安装指导三,.tar和.tgz格式文件转换四,总结 一,简介 本文主要介绍.tar格式的软核文件如何在Xplorer中进行安装,供参考。 二,官方软核…

惠普Hp激光打印机Laser MFP 1136w驱动下载,驱动安装过程中显示‘参数无效’解决办法,打开Print Spooler

Hp Laser MFP 1136w打印机驱动下载官网: https://support.hp.com/cn-zh/drivers/hp-laser-mfp-1000-printer-series/model/2101513884 官网上显示有固件和驱动程序,固件不管,选择驱动程序中的全功能解决方案,进行下载安装 在安装…

【办公技巧】Excel选项按钮,如何设置?

excel表格制作时可能会,需要用到勾选、选中的选项按钮,那么这个该如何设置?今天我们一起学习一下设置方法。 首先,我们需要先在excel工具栏中添加一个功能模块:开发工具 依次点击excel中的文件 – 选项 – 自定义功能…

【问chatgpt】

这采用的是什么脚手架初始化的?这样问询chatgpt 从文件结构来看,这个项目很可能是使用 Express 框架初始化的。这些文件夹和命名约定常见于 Express 项目结构,特别是: controllers: 控制器文件夹,通常用于处理请求逻…

【服务器02】之【阿里云平台】

百度一下阿里云官网 点击注册直接使用支付宝注册可以跳过认证 成功登录后,点击产品 点击免费试用 点击勾选 选一个距离最近的 点满GB 注意:一般试用的时用的是【阿里云】,真正做项目时用的是【腾讯云】 现在开始学习使用: 首先…

域名被劫持怎么办

域名劫持是指黑客通过篡改域名解析的过程,将原本属于某个域名的IP地址指向其它恶意网站或服务器的行为。这种攻击方式常用于网络钓鱼、广告投放等非法活动。 定义 域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查…

去人声留伴奏免费软件?消除人声,分离伴奏!9款应用!

在音频/歌曲/音乐处理领域,去人声留伴奏的技术需求日益增加,无论是音乐爱好者、视频制作者还是专业音频编辑师,都希望能够找到一款高效且免费的去人声分离伴奏软件来完成这一任务。今天,我们就来详细介绍和分析9款手机与电脑上的去…

ubuntu 编译交叉环境arm 版本的openssl库

一,下载源码 [ Old Releases ] - /source/old/index.html 二,设置交叉编译环境 我的交叉环境是RV1126开发板,/home/rpdzkj/development/cross-compile-tools/rv1126/ 对应的是我电脑里的RV1126开发板的交叉环境下的gc g等路径存放 设置环境…

A Data Set of Synthetic Utterances for Computational Personality Analysis

可计算人格分析的综合话语数据集 A Data Set of Synthetic Utterances for Computational Personality Analysis 可计算人格分析的综合话语数据集摘要1 背景和总结2 方法2.1 生成角色2.2 生成数据集 3 数据记录4 技术验证4.1 人类专家的验证4.2 通过计算工具验证话语4.3 通过机…

项目管理软件如何帮助收尾项目?

项目规划、执行、监测和控制通常是项目管理的重点。即使是项目启动也会受到关注,但项目收尾通常是事后才提及的。 实际上,项目的每个阶段都很重要。项目收尾不仅仅是按时交付、不超预算和达到预期质量。 什么是项目收尾? 项目收尾是项目生…

力扣每日一题 下一个更大元素 II 单调栈 循环数组

Problem: 503. 下一个更大元素 II 思路 &#x1f468;‍&#x1f3eb; 参考题解 Code class Solution {public int[] nextGreaterElements(int[] nums) {int n nums.length;int[] res new int[n];Arrays.fill(res,-1);Stack<Integer> stack new Stack<>();//…

数据库讲解---(数据库设计)

目录 一.数据库设计概述 1.1数据库设计的内容 1.1.1数据库的结构设计 1.1.2数据库的行为设计 1.2数据库设计方法 1.2.1直观设计法 1.2.2规范设计法 1.2.3计算机辅助设计法 1.2.4自动化设计法 1.3数据库设计的基本步骤 1.3.1需求分析 1.3.2概念结构设计 1.3.3逻辑结…

python基于Selenium的web自动化框架

1 什么是selenium Selenium 是一个基于浏览器的自动化工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid&#xff1a; Selenium IDE&#xff1a;Firefox的一个…

电脑显示msvcp110.dll丢失的修复方法,快速解决msvcp110.dll的5种方法

今天&#xff0c;我想与大家分享一个我在技术支持领域遇到的一个常见问题&#xff0c;以及我如何解决它的经验。这个问题是关于“msvcp110.dll丢失”的修复方法。 一&#xff0c;了解msvcp110.dll是什么 msvcp110.dll 是一个动态链接库文件&#xff0c;它是 Microsoft Visual …

CSRF代码审计

1 CSRF漏洞 1.1 漏洞原理 跨站请求伪造&#xff08;Cross-site request forgery&#xff09;CSRF&#xff0c;是一种使已登录用户在不知情的情况下执行某种动作的攻击。因为攻击者看不到伪造请求的响应结果&#xff0c;所以CSRF攻击主要用来执行动作&#xff0c;而非窃取用户…

Go 在结构体中定义下划线(_)字段原来还有这个特殊用途?

作者&#xff1a;陈明勇 个人网站&#xff1a;https://chenmingyong.cn 文章持续更新&#xff0c;如果本文能让您有所收获&#xff0c;欢迎点赞收藏加关注本号。 微信阅读可搜《程序员陈明勇》。 这篇文章已被收录于 GitHub https://github.com/chenmingyong0423/blog&#xff…

BADI - 采购申请增强ME_PROCESS_REQ_CUST行项目增强PROCESS_ITEM

需求&#xff1a;如果行项目有文本&#xff0c;则修改行项目 实现步骤 使用事务代码 SE19或SE18 为 BADI&#xff08;ME_PROCESS_REQ_CUST &#xff09;创建实现。单击方法PROCESS_ITEM使用方法 IF_LONGTEXTS_MM~GET_TEXTOBJECT 获取订单项文本对象 ID。使用方法 IF_LONGTEXTS…

粉末冶金5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

粉末冶金5G智能工厂工业物联数字孪生平台&#xff0c;推进制造业数字化转型。在数字化浪潮席卷全球的今天&#xff0c;制造业的数字化转型已然成为不可逆转的趋势。粉末冶金行业&#xff0c;作为制造业的重要一环&#xff0c;亦需紧跟时代步伐&#xff0c;以5G智能工厂、工业物…