Docker容器化技术(数据卷的管理)

         数据卷 是一个可供容器使用的特殊目录,它将主机操作系统目录直接 映射进容器,类似于 Linux 中的 mount 行为 。

数据卷:可以提供很多有用的特性

  • 数据卷可以在容器之间共事和重用,容器间传递数据将变得高效与方便;
  • 对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;
  • 对数据卷的更新不会影响镜像,解摘开应用和数据;
  • 卷会一直存在 ,直到没有容器使用,可以安 地卸载它;

 创建数据卷:

使用如下命令可以快速在本地创建一个数据卷,,查看/ ar/lib docker /vo lumes 路径下,会发现所 建的数据卷位置:

[root@localhost ~]# docker volume create -d local test
test
[root@localhost ~]#  ls -1 /var/l b/docker/volumes

绑定数据卷:

用 docker  run口命令的时候,可以使用 mount 选项来使用数据卷 mount 项支持三种类型的数据卷,包括:

  • volume 普通数据卷,映射到主机/var/ lib /docke /vo lumes 径下;
  • bind :绑定数据卷,映射到主机指定路径下;
  • tmpfs :临时数据卷,只存在于内存中

使用 training/webapp 镜像创建 Web 容器,并创建一个数据卷挂载到容器 的/opt/webapp 目录:

[root@localhost ~]# docker run -d -P --name web --mount type=bind,source=/webapp,destination=/opt/webapp training/webapp python app.py 
1063002e84c49039903d311c65b029c28ebf6db862a07840f3b8bf68029276f9

上述命令等同于:

[root@localhost ~]# docker run -d -P --name web -v /webapp:/opt/webapp training/webapp python app.py
bd23a4b08741092c7158bfd9e1a286edf95ba21b13add4b61658b18fc1305399

数据卷容器:

如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器也是一个容器,但是它的目的是专门提供数据卷给其他容器挂载。

创建一个数据卷容器 dbdata 并在其中创建一个数据卷挂载到/dbdata

[root@localhost ~]#  docker run -it -v /dbdata --name dbdata busybox

查看/dbdata目录:

/ # ls
bin     dev     home    lib64   root    tmp     var
dbdata  etc     lib     proc    sys     usr

然后,可以在其他容器中使用--volumes-from 来挂载 dbdata 容器中的数据卷,例如创建 dbl db2 两个容器,并从 dbdata 容器挂载数据卷,我们先克隆三台主机,执行如下命令:

[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker run -it --volumes-from dbdata --name db1 busybox
/ # 
/ # 
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker run -it --volumes-from dbdata --name db2 busybox
/ # 
/ # 

此时, 容器 dbl db2 都挂载同一个数据卷到相同的/dbdata 目录,三个容器任何方在该目录下的写人,其他容器都可以看到 例如,在 dbdata 容器中创建 test 文件:

在容器dbdata中
/ # cd /dbdata
/dbdata # 
/dbdata # touch wyx
在容器db1中查看
/ # ls dbdata/
wyx
/ # 

如果删除了挂载的容器(包括 dbdata db1和 db2 ),数据卷并不会被自动删除 如果 删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用 docker rm -v 令来指定同时删除关联的容器

 利用数据卷容器来迁移数据

1.备份

[root@localhost ~]# docker run --volumes-from dbdata -v $(pwd):/backup --name worker busybox tar -cvf /backup/backup.tar /dbdata

2.恢复

[root@localhost ~]# docker run -v /dbdata --name dbdata2 busybox /bin/bash
[root@localhost ~]# docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar -xvf /backup/backup.tar
dbdata/
dbdata/wyx
[root@localhost ~]# ll
total 593940
-rw-------. 1 root root       706 Mar  4 06:39 anaconda-ks.cfg
-rw-r--r--. 1 root root      2048 Mar 11 20:01 backup.tar

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

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

相关文章

使用huggingface实现AltCLIP进行对齐语言和图像

目录 引言 使用例子 AltCLIPConfig 参数 示例 AltCLIPTextConfig 参数详解 示例 AltCLIPVisionConfig 参数详解 示例 AltCLIPProcessor 参数 方法 示例使用 AltCLIPModel 前向传播方法 forward 返回值 示例使用 AltCLIPTextModel 方法 forward 返回值 示…

如何选择合适的IP代理,如何为网络爬虫设置代理

目录 前言 1. 代理类型的选择 2. 代理速度 3. 代理稳定性 4. 代理的匿名性 5. 代理的地理位置 总结 前言 在进行网络爬虫任务时,为了避免被目标网站封禁IP或限制访问频率,我们通常会使用代理来隐藏真实的IP地址。选择合适的IP代理对于爬虫的成功…

内部应用解耦神器-Spring事件

大家好,我是程序员牛牛,《AI超级个体: ChatGPT与AIGC实战指南》的参与人,10年Java编程程序员。 1. 概述 在做业务开发过程中,有些复杂点的逻辑,可能代码逻辑会很冗长,举一个很简单的例子,如&am…

【vue.js】文档解读【day 3】 | 条件渲染

如果阅读有疑问的话,欢迎评论或私信!! 文章目录 条件渲染前言:v-ifv-elsev-else-iftemplate中的v-ifv-showv-if vs v-show 条件渲染 前言: 在JavaScript中,我们知道条件控制语句可以控制程序的走向&#…

Failed to fetch dynamically imported module错误解决方案

工作需要,需要搬移某个功能代码到去年的分支,结果报了这个错 花了2个多小时排查,最后发现,是某个ts文件没有搬过来 吐血,怎么不直接提示这个文件不存在呢,让我研究了半天

【JAVA】HashMap扩容性能影响及优化策略

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 结语 我的其他博客 前言 在软件开发中,HashMap是一种常用的数据结构,但在处理大量数据时,其扩容…

基于支持向量机的的二分类预测

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 完整代码和数据下载链接:基于支持向量机的的二分类预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88947565 SVM应用实例, 基于…

SpringBoot配置达梦数据库依赖(达梦8)

maven配置 <!-- 达梦数据库 --><dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.1.193</version></dependency><dependency><groupId>com.alibaba&l…

【力扣 - 最大子数组和】

题目描述 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&…

蓝桥杯C++大学B组一个月冲刺记录2024/3/12

蓝桥杯C大学B组一个月冲刺记录2024/3/12 规则&#xff1a;每日三题 时间过得好快… 1.挤牛奶 每天早上 5点&#xff0c;三名农夫去牛场给奶牛们挤奶。 现在从 5点开始按秒计时&#xff0c;第一名农夫在第 300秒开始给牛挤奶&#xff0c;并在第 100 秒停止挤奶。 第二名农夫在第…

自动化测试过程中的手机验证码处理!

手机验证码登录很普遍了&#xff0c;那么在自动化测试的时候需要登录&#xff0c;登录不了就意味着很多自动化就没法执行下去了。 到底该怎么处理呢&#xff1f;其实并不难&#xff0c;我们先看下验证码的业务逻辑&#xff0c;在我们“点击获取验证码”按钮的时候&#xff0c;…

一学就懂:安装OLED透明屏拼接屏需要注意什么?

安装OLED透明屏拼接屏时&#xff0c;需要注意以下几个方面&#xff1a; 一、前期准备 测量和规划&#xff1a;对安装区域进行详细测量&#xff0c;确保安装区域的尺寸和结构符合OLED透明屏的要求。同时&#xff0c;规划好拼接屏的数量、位置以及布线和固定方案。 环境评估&am…

Weblogic 常规渗透测试环境

测试环境 本环境模拟了一个真实的weblogic环境&#xff0c;其后台存在一个弱口令&#xff0c;并且前台存在任意文件读取漏洞。分别通过这两种漏洞&#xff0c;模拟对weblogic场景的渗透。 Weblogic版本&#xff1a;10.3.6(11g) Java版本&#xff1a;1.6 弱口令 环境启动后…

(golang)切片何时会创建新切片或影响原切片

什么时候切片操作会影响原切片 // 1.切片后没有触发slice的扩容机制时 什么时候对切片操作会创建新切片不影响原切片 // 2.对切片头元素进行截取的时候 // 3.当使用append时&#xff0c;len > cap则会触发扩容机制 前置&#xff1a; //slice结构体 type SliceHeader struct…

指针篇章-(4)+qsort函数的模拟

学习目录 ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————…

​知识图谱:基于嵌入的模型(TransE 、TransH、TransR和TransD)

(一)TransE: Translating Embeddings for Modeling Multi-relational Data. Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, Oksana Yakhnenko. NIPS 2013. 论文地址:http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-…

动态规划在算法中的实践

【摘要】为了提高算法的效率&#xff0c;动态规划是在算法实践中经常使用的一个思想&#xff0c;有些问题会非常适合使用动态规划的思想来设计算法。本文将借助LeetCode上的一些例子&#xff0c;来讲解和说明动态规划在算法案例中的一些实践。 【关键词】 动态规划 LeetCode 算…

【Vue3】defineExpose 实践

【Vue3】defineExpose 实践 defineExpose 是 Vue 3 的 <script setup> 语法糖中提供的一个函数&#xff0c;用于显式地暴露组件的属性、方法或其他响应式状态给其父组件或外部使用。这是在使用 <script setup> 语法时&#xff0c;控制组件公开哪些内部状态和方法的…

[论文笔记]跨语言摘要最新综述:典型挑战及解决方案

https://arxiv.org/abs/2203.12515 跨语言摘要是指为给定的一种语言(例如中文)的文档生成另一种语言(例如英文)的摘要。 图1:四个端到端框架的概述。XLS:跨语言摘要;MT:机器翻译;MS:单语摘要。虚线箭头表示监督信号。无框彩色方块表示相应任务的输入或输出…

【华为OD机试】智能成绩表【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗? 输入描述 第 1 行输入两个整数,学生人数 n 和科目数量 m,0<n<100,0<m < 10 第 2 行输入 …