Docker 容器数据卷

2023-09-21 10:52:34

是什么

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

一句话:有点类似我们Redis里面的rdb和aof文件,将docker容器内的数据保存进宿主机的磁盘中。

运行一个带有容器卷存储功能的容器实例:

命令:

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

记得加入:--privileged=true

        原因:如果Docker挂载主机目录访问如果出现cannot open directory .: Permission denied。在挂载目录后多加一个--privileged=true参数即可。

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

能干嘛

        将运用与运行的环境打包镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的。

        Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。为了能保存数据在docker中我们使用卷。

特点:

        1:数据卷可在容器之间共享或重用数据

        2:卷中的更改可以直接实时生效,爽

        3:数据卷中的更改不会包含在镜像的更新中

        4:数据卷的生命周期一直持续到没有容器使用它为止

数据卷案例

1、宿主vs容器之间映射添加容器卷

公式:docker run -it --privileged=true -v /宿主机目录:/容器内目录 镜像名 /bin/bash

实例:

        docker run -it --name myu3 --privileged=true -v /tmp/myHostData:/tmp/myDockerData ubuntu /bin/bash

查看数据卷是否挂载成功

命令:docker inspect 容器ID

容器和宿主机之间数据共享

案例:

        1、docker修改,主机同步获得 

        2、主机修改,docker同步获得

        3、docker容器stop,主机修改,docker容器重启看数据是否同步。

2、读写规则映射添加说明

读写(默认)

命令:

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

备注:不写默认就是rw,rw = read + write

只读

命令:

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

备注:容器实例内部被限制,只能读取不能写,ro = read only

3、卷的继承和共享

容器1完成和宿主机的映射

案例:docker run -it  --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu

容器2继承容器1的卷规则

命令:

        docker run -it --privileged=true --volumes-from  父类  --name u2 ubuntu

更多推荐

Git学习笔记9

Gitlab中的代码是要部署到生产服务器上。CI:Continuousintegration简称CI:是一种软件开发实践,即开发团队成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成中的错误。构建:对代

怎样才能让百度搜索到自己的博客?--九五小庞

怎么把自己的博客推荐到百度、Google等主要搜索引擎?如果不把你的博客提交到各大搜索引擎中,它们一般是不会收录你的博客的,你可以先尝试一下看看能不能在百度搜到你的博客吧。如果搜不到的话说明你的博客还没有被百度收录,那么怎么才能被百度、google等各大搜索引擎收录你的博客呢?申请免费加入搜索引擎啦!一般百度在48小时

Vue的详细教程--基础语法【上】

🥳🥳WelcomeHuihui'sCodeWorld!!🥳🥳接下来看看由辉辉所写的关于Vue的相关操作吧目录🥳🥳WelcomeHuihui'sCodeWorld!!🥳🥳一.插值1.文本2.html3.属性&class绑定&style绑定4.表达式二.指令1.v-if&v-else&v-else-if2.

mySQL 安装

一、windows安装包下载mysql官网提供了两种安装方式,一个是zip安装,另一个是msi安装,这里简绍第一种安装方式,第二种简单,不再简绍官网下载,根据自己需要选择版本:MySQL::MySQLCommunityDownloads这里我选择的是5.7版本二、安装文件1.解压到非中文、非特殊字符路径下2.将bin目

【支持M1】MacDroid for Mac:Mac和Android安卓设备数据互通

Mac和Android组合始终存在的唯一问题是无法在这些设备之间足够快地传输数据,但是MacDroidformac填补了这一空白。MacDroidmac版是Macos上一款安卓手机数据传输助手,MacDroidmac下载支持Mac和Android设备之间传输照片,视频,音乐和文件夹。不需要特殊的电缆或复杂的解决方案,只

【QT开发(5)】0919-QT里面新增ui类,新增使用opencv读取图片的普通类,在ui类中显示图片

参考资料1、QtCreator快速入门_第三版__霍亚飞编著2、《Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)》输出材料https://gitee.com/hiyanyx/qt5.14-cpp_-empty_-project/tree/508435b09ff1f794e650cba859b

关于 firefox 不能访问 http 的解决

情景:我在虚拟机192.168.x.111上配置了DNS服务器,在kali上设置192.168.x.111为DNS服务器后,使用firefox地址栏搜索域名www.xxx.com,访问在192.168.x.111搭建的网站,本来经192.168.x.111DNS服务器解析后,应该访问的是http://www.xxx.c

数据在内存中的存储

文章目录一、整数在内存中的存储二、大小端引言大小端的介绍三、浮点数在内存中的存储储存规则取的过程一、整数在内存中的存储计算机中有3中二进制存储方法,即原码、补码、反码正整数的原码、反码、补码都相同负整数原码、反码、补码各不相同:原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。反码:将原码的符号位不变,其他位

华为数通方向HCIP-DataCom H12-831题库(单选题:81-100)

第81题关于结构化的网络故障排除流程中的确认故障阶段的描述,正确的是?A、应关注如何更好的解决故障而不论该故障是否属于自己的负责范围。B、应重视用户的意见,以用户的判断为依据来判断故障问题C、应使影响最小化,尽量不让其他人知道网络出现了故障。D、应确认排障工作是否属于自己的负责范围答案:D解析:当网络出现故障时,首先应

iOS技术博主指南:填写苹果应用上架中的隐私政策信息

摘要:本文将详细介绍iOS技术博主在苹果应用上架过程中如何填写隐私政策信息。博主可以通过AppStoreConnect为应用程序提供隐私政策网址和用户隐私选项网址,并了解如何填写隐私政策文本。本文将提供步骤和注意事项,帮助博主顺利完成隐私政策信息的填写。引言:为了保护用户的隐私权益,苹果要求所有上架的应用程序必须提供隐

计算机视觉与深度学习-全连接神经网络-训练过程-欠拟合、过拟合和Dropout- [北邮鲁鹏]

目录标题机器学习的根本问题过拟合overfitting泛化能力差。应对过拟合最优方案次优方案调节模型大小约束模型权重,即权重正则化(常用的有L1、L2正则化)L1正则化L2正则化对异常值的敏感性随机失活(Dropout)随机失活的问题欠拟合机器学习的根本问题机器学习的根本问题是优化与泛化问题。优化:是指调节模型以在训练

热文推荐