Docker数据卷和数据卷容器应用

news2025/1/11 14:22:55

学习目的

掌握Docker数据卷和数据卷容器使用方法。

学习准备

要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。

学习步骤

步骤1:创建数据卷

(1)创建容器,为容器添加一个数据卷,容器名为mycentos,数据卷在容器里的目录是/opt/data。

[root@master ~]# docker pull centos:7 // 拉取所需镜像

[root@master ~]# docker run -it --name mycentos -v /opt/data centos:7 /bin/bash

[root@7908b98ed9e6 /]#cd /opt/data

[root@7908b98ed9e6 /]# cd /opt/data

[root@7908b98ed9e6 data]# echo "centos1">centos1

[root@7908b98ed9e6 data]# echo "centos2">centos2

[root@7908b98ed9e6 data]# ls

centos1  centos2

(2)新建一个终端,连接到主机,在主机上查看容器对应数据卷的目录路径。

 

步骤2:挂载宿主机文件或目录到容器数据卷

(1)建立容器,将容器里挂载的共享数据设置为只读,以使数据修改只能在宿主机上操作。

[root@master ~]# docker run -it --name mynginx -v /root/index.html:/myweb/index.html:ro nginx /bin/bash

root@3feb79f12fb3:/# cd /myweb/

root@3feb79f12fb3:/myweb# echo "123">index.html  //写入数据

bash: index.html: Read-only file system   //只读,无法写入

在宿主机上修改共享数据

[root@master ~]# echo "456">>index.html

在容器中再次查看文件信息

 这里的实验我知道了可以挂载主机文件或目录到容器数据卷,也就是说,你建立一个容器,容器里挂载的共享数据设置成只读,你只能在宿主的主机上修改数据,你修改宿主主机上的数据了,容器上也可以看得到--------我做这里遇到的问题是:把容器和宿主机进行映射,进入容器之后,我应该另开一个终端,在宿主机的终端里修改数据,如果我不新开一个终端,我就进不去那个容器了

 (2)挂载宿主机目录到容器

[root@master ~]# mkdir /opt/data

[root@master ~]# echo "data1">/opt/data/data1

[root@master ~]# echo "data2">/opt/data/data2

[root@master ~]# docker run -it --name mycentos2 -v /opt/data:/opt/mydata centos:7 /bin/bash

[root@47ba22a96edd /]# cd /opt/mydata/

[root@47ba22a96edd mydata]# ls

data1  data2

[root@47ba22a96edd mydata]# echo "data3">data3

[root@47ba22a96edd mydata]# ls

data1  data2  data3

 在宿主机上查看目录信息。

[root@master ~]# ls /opt/data

 步骤3:创建数据卷容器

(1)启动名为myontainer的容器,要求此容器包含两个数据卷/opt/volume1和/opt/volume2。

[root@master ~]# docker run -it -v /opt/volume1 -v /opt/volume2 --name my_container centos:7 /bin/bash

[root@0cc99e4c61da /]# ls /opt/ volume1  volume2 //  容器内数据卷目录vloume1和volume2已经创建

 容器内数据卷目录已经创建

(2)在宿主机上查看与数据卷对应的目录路径。

[root@master ~]# docker inspect my_container|grep /var/lib/docker/volumes

   "Source": "/var/lib/docker/volumes/3f6cc0585bef55d1be35566aa79dbd21d17a4625b587bc883ab8c4fc159d562d/_data",

   "Source": "/var/lib/docker/volumes/4e606dc4e1dbe1a907970d59668681169debf4ece91fdf6c7a5f782d2955d05e/_data",

// 从显示结果可以看到与数据卷对应的目录路径

 (3)创建my_centos容器,挂载my_container容器中的数据卷。

[root@master ~]# docker run -it --rm --volumes-from my_container --name my_centos centos:7 /bin/bash

[root@50fe2adcdfa6 /]# ls /opt

volume1  volume2

//  从显示结果上可以看到volume1和volume2数据卷都存在

 

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

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

相关文章

基于树莓派4B与STM32的智能门禁系统项目(代码开源)

前言:本文为手把手教学嵌入式经典项目——智能门禁项目,本次项目采用 树莓派4B 与 STM32F103C8T6 进行联合开发。项目充分发挥各自 CPU 的优势与长处,将人脸识别的大计算量任务给树莓派4B,将门禁系统的控制部分交给 STM32 进行处理…

外包干了2个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

举个栗子!Quick BI 技巧(1):创建趋势折线图

自 2016 年以来,优阅达《举个栗子》内容专栏已陪伴众多企业用户高效工作,解决真实业务场景中的用数问题。 2023 年,全新系列《举个栗子!Quick BI 技巧》出炉啦~ 优阅达期待能够持续分享经验,帮助用户发现更多 Quick …

剑指 Offer. 二叉树中和为某一值的路径

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&…

ATA3000系列功率放大器——水声信号中的典型应用

ATA3000系列功率放大器——水声信号中的典型应用 水声领域介绍: 主动声纳是通过声纳本身发射声波,根据声信号反射回波来发现目标,并测定目标的位置和运动参数。水声信号发射机在主动声纳设备中是非常重要的组成部分,其产生特定形式…

YoloV5/YoloV7改进---注意力机制:引入瓶颈注意力模块BAM,对标CBAM

目录 1.BAM介绍 2.BAM引入到yolov5 2.1 加入common.py中: 2.2 加入yolo.py中: 2.3 yolov5s_BAM.yaml 1.BAM介绍 论文:https://arxiv.org/pdf/1807.06514.pdf 摘要:提出了一种简单有效的注意力模块,称为瓶颈注意力模块…

【数据仓库】Apache Doris介绍

Apache Doris介绍 Apache Doris应用场景 Apache Doris核心特性 Apache Doris架构 Doris数据模型三种 Aggregate模型介绍 Uniq模型介绍 在某些多维分析场景下,用户更关注的是如何保证Key的唯一性Key 唯一性约束。因此,我们引入了 Unig 的数据模型。该模型本质上是聚…

微信如何创建自己的小程序?

微信如何创建自己的小程序?微信小程序成为了很多商家、企业甚至是个人在互联网中的营销工具,微信小程序基本上可以说是属于必备工具。那么微信如何创建自己的小程序呢?下面一起来给大家说说。 一、注册小程序账号 微信如何创建自己的小程序…

12.JavaWeb-Node.js

1.Node.js的概念 传统的Web服务器中,每个请求都会创建一个线程,这会导致线程数的增加,从而影响服务器的性能和扩展性,Ryan Dahl借助Chrome的V8引擎提供的能力实现了Node.js——可以在服务端运行的JavaScript(可以把Nod…

win下实现Linux的tab自动补全

声明 :如果不是确定的话 注册表这个东西不建议更改 如果更改的话建议先备份系统 以防意外 1.找到注册表编辑器 2. 展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 3.找到Completion Char 双击 把橙色的数值改成9 4.重新打开cmd 就可以了 参考文章…

【Python数据处理】-Pandas笔记

Python数据处理-Pandas笔记 📝 基本概念 Pandas是一个强大的Python数据处理库,它提供了高效的数据结构和数据分析工具,使数据处理变得简单而快速。本篇笔记将介绍Pandas中最常用的数据结构——Series和DataFrame,以及数据处理的…

48. Compose自定义绘制日历-2

这次的实现方式完全改了,感觉最初的想法对切换周历模式比较难实现, 现在是把月历和周历 同时生成,动态切换。 待优化的:切换的时候 闪动没那么丝滑。 还有另一种实现方案 : 只生成当前月份 和前后月份三组数据&#x…

HTML5网页设计小案例:逸仙园茶馆招聘启事网页的设计

前言: 今天分享的逸仙园茶馆招聘启事网页的设计是本专栏的第一篇博客,也是我学习了几个小时知识点后写的实战小案例。我有个想法,想以逸仙园茶馆为灵感不断优化改进代码与想法设计一套与茶叶有关的的精美网页 逸仙园茶馆招聘启事网页的设计案…

【动态规划上分复盘】这是你熟悉的地下城游戏吗?

欢迎 前言一、动态规划五步曲二、地下城游戏题目分析思路:动态规划具体代码如下 总结 前言 本文讲解关于动态规划思路的两道题目。 一、动态规划五步曲 1.确定状态表示(确定dp数组的含义)2.确定状态转移方程(确定dp的递推公式&a…

NumPy实现逻辑回归

说明:数据集 ex2data1.txt是吴恩达机器学习的作业的数据集。 # -*-coding:utf-8-*- import matplotlib.pyplot as plt import numpy as np import pandas as pdclass Logitstic_Regression:def __init__(self, learning_rate0.01, num_iterations75000, threshold0.…

# 技术架构演进之路

技术架构演进之路 文章目录 技术架构演进之路单机架构应用数据分离架构应用服务集群架构读写分离架构冷热分离架构垂直分库架构微服务架构容器编排技术互联网架构 单机架构 简介应用和服务公用一台服务器出现原因出现在互联网早期,访问量比较小,单机足以满足需求.架构工作原理…

本地新项目推送至gitlab仓库

1. gitlab上新建一个空白项目 gitlab上点击new project按钮,新建一个项目 新建空白项目 项目名称与本地新建项目名称相同,其余根据具体需要选择 2. 初始化本地仓库并commit项目 进入本地项目根目录下,右击 git bash here打开命令窗口 初始化…

java代码审查过关的一次总结

**1.for循环中的逻辑都抽出一个方法并且把重要逻辑抽出一个方法 2.参数比较多合并成一个对象 3.避免没必要的if else 例如if判断能直接return就return,避免没必要的else 4.检查代码中是否包含适当的注释,解释代码的目的、实现细节和注意事项。 5.代码格式和命名规…

百炼智能发布垂直模型“爱迪生”,B2B行业的AIGC大潮来了

(图片来源:Pixels) AIGC终于来到B2B行业,企业服务AGI时代已拉开帷幕。 数科星球原创 作者丨苑晶 编辑丨大兔 百炼智能是一家专注B2B行业的智能营销企业。在过去,该行业经历了大数据、人工智能时代的洗礼。随着行业对数…

jupyter中如何管理内核

1、jupyter notebook如何和已有的虚拟环境关联起来: 如果在电脑中某个conda的虚拟环境中已经安装了jupyter,其他虚拟环境想要作为内核在jupyter中使用,分为两个步骤: 第一步:在没有jupyter的环境中下载ipykernel&…