docker数据管理

docker数据管理

  • 1.数据卷
  • 2.启动一个挂载数据卷的容器
  • 3.查看数据卷的具体信息/删除数据卷
  • 4.挂载主机目录

1.数据卷

数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UnionFS,可以提供很多有用的特性:

  • 数据卷 可以在容器之间共享和重用
  • 对 数据卷 的修改会立马生效
  • 对 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除

据卷 的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会复制到数据卷中(仅数据卷为空时会复制)

1、创建一个数据卷

docker volume create my-vol

2、查看所有的 数据卷

docker volume ls

在这里插入图片描述

3、在主机里使用以下命令可以查看指定 数据卷 的信息

docker volume inspect my-vol

在这里插入图片描述


2.启动一个挂载数据卷的容器

在用 docker run 命令的时候,使用 --mount 标记来将 数据卷 挂载到容器里。在一次 docker run 中可以挂载多个数据卷:

下面创建一个名为 web 的容器,并加载一个数据卷到容器的 /usr/share/nginx/html 目录:

docker run -d -P \--name web \--mount source=my-vol,target=/usr/share/nginx/html \nginx:alpine

在这里插入图片描述

docker ps查看映射的端口,访问,进入nginx默认页面:

在这里插入图片描述


3.查看数据卷的具体信息/删除数据卷

1、在主机里使用以下命令可以查看 web 容器的信息:

在这里插入图片描述

数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除 数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个命令:

docker volume rm my-vol

在这里插入图片描述

无主的数据卷可能会占据很多空间,要清理请使用以下命令:

docker volume prune

4.挂载主机目录

使用 --mount 标记可以指定挂载一个本地主机的目录到容器中去:

docker run -d -P \--name web \--mount type=bind,source=/src/webapp,target=/usr/share/nginx/html \nginx:alpine

上面的命令加载主机的 /src/webapp 目录到容器的 /usr/share/nginx/html目录。这个功能在进行测试的时候十分方便,比如用户可以放置一些程序到本地目录中,来查看容器是否正常工作

Docker 挂载主机目录的默认权限是读写,用户也可以通过增加 readonly 指定为只读:

docker run -d -P \--name web \--mount type=bind,source=/src/webapp,target=/usr/share/nginx/html,readonly \nginx:alpine

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

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

相关文章

音频二维码怎么制作出来的?支持多种格式音频生码的方法

怎么把一个音频的文件做成二维码图片呢?在日常工作和生活中,有很多的场景会需要使用音频类型的文件来展示内容,比如常见的英语听力、课程、听书等类型的内容,现在都可以用二维码展示。而且现在生成音频二维码的方法也很简单&#…

【下一代分布式追踪】将Trace扩展到网络设备

下一代分布式追踪—将Trace扩展到网络设备 一、技术背景二、研究动机三、方法数据采集:数据整合:路径重建:可视化与分析: Foxhound,Foxhound四、典型案例五、结论 一、技术背景 随着云计算和微服务的普及,…

【刷题题解】编辑距离

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 这道题也是,一眼动态规划,乍一看感觉很复杂,仔细思考…

挑战杯 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:3分 🧿 更多资…

基于ESP8266 开发板(MCU)遥控小车

遥控小车 ​ 遥控界面 ​ 【项目源码】 第一版ESP8266 https://github.com/liyinchigithub/esp8266_car_webServerhttps://github.com/liyinchigithub/esp8266_car_webServer 第二版ESP32 GitHub - liyinchigithub/esp32-wroom-car: 嵌入式单片机 ESP32 Arduino 遥控小车&a…

前端学习第4天

一、复合选择器 1.后代选择器 2.子代选择器 3.并集选择器 4.交集选择器 5.伪类选择器 1.伪类-超链接(拓展) 二、CSS特性 1.继承性 body放在style中 2.层叠性 3.优先级 属性 !important;(最高优先级) 1.优先级-叠加计算规则 2.em…

Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

YoloV8改进策略:HAM混合注意力机制改进YoloV8|多种改进,多种姿势涨点|代码注释详解

摘要 HAM通过快速一维卷积来缓解通道注意机制的负担,并引入通道分离技术自适应强调重要特征。HAM作为通用模块,在CIFAR-10、CIFAR-100和STL-10数据集上实现了SOTA级别的分类性能。 论文链接:https://www.sciencedirect.com/science/article/abs/pii/S0031320322002667?vi…

python接口自动化之接口测试用例(详解)

简介 接口测试是软件测试中非常重要的一种测试类型,它主要针对系统的接口进行测试,检查接口之间的交互是否符合预期。在进行接口测试时需要注意以下几个方面: 接口测试用例设计 接口测试用例设计需要考虑到接口的输入、输出、边界条件、异常…

基于Springboot的兼职网(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的兼职网(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&#xff0…

《动手学深度学习(PyTorch版)》笔记7.2

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…

DevOps落地笔记-14|部署流水线:打造一站式部署的关键平台

上一课时我主要介绍了实现自动化测试的范围、流程和结构图,自动化测试是持续集成实践不可或缺的一部分,从而使得软件向高效率和高质量迈进了一大步。持续集成主要关注的是代码是否可以编译成功、是否可以通过单元测试和验收测试等。但持续集成并不能实现…

HubSpot营销自动化如何优化营销流程?

HubSpot营销自动化在优化营销流程、减少手动工作以及提高效率方面发挥着关键作用。以下是一些具体的方法和策略: 1. 自动化电子邮件营销: 利用HubSpot的电子邮件自动化功能,设置触发条件,使邮件发送根据用户行为或阶段自动进行。…

Spark 依赖包加载方式

1 Spark 依赖包来源 我们知道Spark application运行加载依赖有三个地方: systemClasspath:Spark安装时候提供的依赖包,${SPARK_HOME}/jars下的包。spark-submit --jars 提交的依赖包spark-submit --config "spark.{driver/executor}.e…

Java SPI 代码示例

Java Service Provider Interface 是JDK自带的服务提供者接口又叫服务发现机制更是一种面向接口的设计思想。即JDK本身提供接口类, 第三方实现其接口,并作为jar包或其他方式注入到其中, 在运行时会被JDK ServiceLoader 发现并加载&#xff0c…

骨传导是表示啥?骨传导耳机有什么优势

最近市场上兴起了一股骨传导耳机的热潮,它引起了广泛的关注并带来了许多用户的好奇:骨传导是表示啥?骨传导耳机有什么优势?接下来我们将深入探讨骨传导是表示啥以及骨传导耳机有什么优势。 骨传导是表示啥 简而言之,骨…

VSCode 安装LLDB调试器(OS X)并启动调试

插件:(LLDB插件安装) 安装这个版本不好弄错了,CodeLLDB(名字) 配置:(LLDB启动调试) {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更…

day32 买卖股票的最佳时机Ⅱ 跳跃游戏 跳跃游戏Ⅱ

题目1:122 买卖股票的最佳时机Ⅱ 题目链接:122 买卖股票的最大时机Ⅱ 题意 整数数组prices[i]表示某股票的第i天的价格,每天可买卖股票且最多持有1股股票,返回最大利润 利润拆分,拆分为每天的利润 每天的正利…

李沐《动手学深度学习》循环神经网络 经典网络模型

系列文章 李沐《动手学深度学习》预备知识 张量操作及数据处理 李沐《动手学深度学习》预备知识 线性代数及微积分 李沐《动手学深度学习》线性神经网络 线性回归 李沐《动手学深度学习》线性神经网络 softmax回归 李沐《动手学深度学习》多层感知机 模型概念和代码实现 李沐《…

从0开始搭建、上传npm包

从0开始搭建、上传npm包 1、上传一个简单获取水果价格的包创建 vite 项目在项目根目录 src 文件夹中创建 index.ts 文件,文件内容如下:在 main.ts 文件中导入、导出上面创建的方法创建 vite.config.ts 配置文件,文件内容如下配置 package.jso…