【docker】数据卷和数据卷容器

目录

一、如何管理docker容器中的数据?

二、数据卷

1、数据卷原理

2、数据卷的作用

3、数据卷案例

三、数据卷容器

1、数据卷容器作用

2、数据卷容器案例

四、容器互连(centos镜像)


一、如何管理docker容器中的数据?

二、数据卷

1、数据卷原理

将容器内部的配置文件目录,挂载到宿主机指定目录下

  • 数据卷默认会一直存在,即使容器被删除
  • 宿主机和容器是两个不同的名称空间,如果想进行连接需要用ssh,exec和attch也类似于ssh这种方式登录
  • 在企业中ssh这种登录方式会比较危险,安全漏洞很大,尽量减少ssh这种,杜绝了频繁使用exec
  • 因此使用数据卷的方式把容器内部的文件目录挂载到宿主机指定目录下进行修改,当容器里的文件频繁需要修改时,不需要登录进去,直接使用数据卷方式在宿主机指定的目录下进行修改即可,方便又安全。

2、数据卷的作用

  • 数据卷是一个供容器使用的特殊目录,位于容器中,可以将宿主机目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响影响镜像,从而实现数据在宿主机与容器之间的迁移。
  • 数据卷的使用类似于linu下对目录进行mount操作。

3、数据卷案例

创建两个容器,挂载到宿主机的同一个目录

               【宿主机目录】:【容器目录】
docker run -itd -v /var/www:/data1 --name ydq1 centos:7 bash
docker run -itd -v /var/www:/data2 --name ydq2 centos:7 bash
#将宿主机的目录/vae/www目录分别挂载到容器 ydq1和ydq2的/data1 和/data2目录上
//指定目录即使没有,也会自动创建

echo "这都是些什么玩意,cao" > /var/www/ky20.txt

登录到ydq1和ydq2容器,查看挂载目录的文件是否一致

docker exec -it ydq1 bash

docker exec -it ydq2 bash

在ydq1容器的目录修改文件,然后去宿主机查看和ydq2容器查看

三、数据卷容器

1、数据卷容器作用

让两个容器实现数据共享

如果需要在容器之间共享一些数据,最简单的方法就是使用数据容器,数据卷容器是一个普通的容器,专门提供数据卷给其它容器挂载使用。

php ----》mysql之间想要通讯,通过socker

2、数据卷容器案例

创建数据卷容器

docker run -it --name test1 -v /data1 -v /data2 centos:7 bash
#创建容器并进入容器,并共享/data1 和/data2目录

echo "这是data1下面的文件" > /data1/test.txt
echo "这是data2下面的文件" > /data2/TEST.txt
#容器内创建两个测试文件

docker run -it --name test2 --volumes-from test1 centos:7 bash
#创建容器并进入,并且去读取test1容器共享的目录

cat /data1/test.txt
cat /data2/TEST.txt
#查看测试数据是否同步(可相互传输)

四、容器互连(centos镜像)

  • 容器互连通过容器的名称在容器间建立一条专门的网络通信隧道,

  • 简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。

dcoker run -itd --name test1 /bin/bash
docker run -itd --name test2 /bin.bash
#创建两个容器

docker exec -it test1 /bin/bash
#进入到容器test1中
ping test2
#尝试ping test2,查看是否连通

docker exec -it test2 /bin/bash
#进入到容器test2
yum -y install net-tools
#下载工具
ifconfig
#查看ip 



docker run -itd -P --name test3 --link test2:test2 centos:7 /bin/bash
#创建并运行就收容器取名为test3,使用--link选项指定链接容器,以实现容器的互连
//--link格式【容器名】:【链接的别名】

docker exec -it test3 /bin/bash
#进入到容器test3
ping test2
#查看是否可ping通
yum -y install net-tools
#下载工具
ifconfig
#查看ip 
ping 172.17.0.2
#使用ip ping test2的ip

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Apple M2 Pro芯片 + docker-compose up + mysql、elasticsearch pull失败问题的解法

背景 (1)从github上git clone了一个基于Spring Boot的Java项目,查看readme,发现要在项目的根目录下,执行“docker-compose up”。(2)执行“docker-compose up”的前提是,在macos上要…

编译原理笔记(三)

一、词法分析程序的设计 1、词法分析程序的输出 在识别出下一个单词同时验证其词法正确性之后,词法分析程序将结果以单词符号的形式发送至语法分析程序以回应其请求。 单词符号一般分下列5类: 关键字:如:begin、end、if、whil…

Spring Boot学习随笔- 集成MyBatis-Plus(二)条件查询QueryWrapper、聚合函数的使用、Lambda条件查询

学习视频:【编程不良人】Mybatis-Plus整合SpringBoot实战教程,提高的你开发效率,后端人员必备! 查询方法详解 普通查询 // 根据主键id去查询单个结果的。 Test public void selectById() {User user userMapper.selectById(1739970502337392641L);System.out.print…

opencv007 图像运算——加减乘除

今天学习图像处理的基础——加减乘除,总体来说比较好理解,不过生成的图片千奇百怪哈哈哈哈 opencv中图像的运算本质是矩阵的运算 加法 做加法之前要求两张图片形状,长宽,通道数完全一致 cv2.add(img1, img2) add的规则是两个图…

MySQL之视图内连接、外连接、子查询

一、视图 1.1 含义 虚拟表,和普通表一样使用 视图(view)是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,数据库中只存放了视图的定义,而并没有存放…

Visio导出eps格式图片

Visio导出eps格式图片 文章目录 Visio导出eps格式图片1. Visio中使用Adobe Acrobat虚拟打印2. Adobe Acrobat中裁剪并另存为eps格式 如何使用Visio绘图然后导出.eps格式的图片呢?这个过程需要用到Adobe Acrobat,使用Adobe Acrobat的虚拟打印功能&#xf…

JVM知识总结(简单且高效)

1. JVM内存与本地内存 JVM内存:受虚拟机内存大小的参数控制,当大小超过参数设置的大小时会报OOM。本地内存:本地内存不受虚拟机内存参数的限制,只受物理内存容量的限制;虽然不受参数的限制,如果所占内存超过…

【Java集合篇】负载因子和容量的关系

负载因子和容量有什么关系 ✔️典型解析✔️loadfactor为啥默认是0.75F,不是1呢?✔️为什么HashMap的默认负载因子设置成0.75✔️0.75的数学依据是什么✔️0.75的必然因素 ✔️HashMap的初始值设为多少合适? ✔️典型解析 HashMap 中有几个属性,如 cap…

商智C店H5性能优化实战

前言 商智C店,是依托移动低码能力搭建的一个应用,产品面向B端商家。随着应用体量持续增大,考虑产品定位及用户体验,我们针对性能较差页面做了一次优化,并取得了不错的效果,用户体验值(UEI&…

每日一题——LeetCode1089.复写0

方法一 splice: 通过数组的slice方法,碰到 0就在后面加一个0,最后截取原数组的长度,舍弃后面部分。 但这样做是违反了题目的要求,不要在超过该数组长度的位置写入元素。 var duplicateZeros function(arr) {var le…

docker 完成MySQL的主从复制

文章目录 搭建步骤 搭建步骤 拉取镜像 docker pull mysql:5.7运行主从 docker run -p 3307:3306 --name mysql-master -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_P…

Springboot进行多环境配置的2种方式

本文来说下Springboot使用Spring Profile和Maven Profile进行多环境配置 文章目录 概述Spring Profile多环境主配置文件与不同环境的配置文件 Maven ProfileProfile配置资源过滤 Spring Profile与Maven Profile具体使用 概述 原因 在实际的项目上,一般会分三种环境d…

淘宝商品详情API接口(item_get-获得淘宝商品详情)主图,属性,sku,价格,搜索商品列表

淘宝开放平台提供了API接口,允许开发者获取淘宝商品的相关信息。为了获取商品详情,您可以使用 item_get API接口。以下是如何使用此API接口来获取商品的主图、属性、SKU、价格以及搜索商品列表的简要说明: 公共参数 名称类型必须描述keyStr…

如何利用MiniTab的命令行来提高数据建模效率

使用MiniTab进行数据建模时,如果涉及到需要多次更改数据、多次查看模型,感兴趣的同学可以尝试一下,把命令行显示出来,通过命令行的形式来执行,避免在繁多的菜单中到处查找。 操作方式如下图: 点击菜单“查…

Transformer架构和对照代码详解

1、英文架构图 下面图中展示了Transformer的英文架构,英文架构中的模块名称和具体代码一一对应,方便大家对照代码、理解和使用。 2、编码器 2.1 编码器介绍 从宏观⻆度来看,Transformer的编码器是由多个相同的层叠加⽽ 成的,每个…

Java重修第三天—“方法“的案例练习

案例一:买飞机票 题目 用户购买机票时,机票原价会按照淡季、旺季,头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:5-10月为旺季,头等舱9折,经济舱8.5折。11月到来年4月为淡季,头等舱7折&…

内核线程创建-kthread_create

文章参考Linux内核线程kernel thread详解 - 知乎 大概意思就是早期创建内核线程,是交由内核处理,由内核自己完成(感觉好像也不太对呢),创建一个内核线程比较麻烦,会导致内核阻塞。因此就诞生了工作队列以及…

美格智能5G RedCap模组SRM813Q通过广东联通5G创新实验室测试认证

近日,美格智能5G RedCap轻量化模组SRM813Q正式通过广东联通5G创新实验室端到端的测试验收,获颁测评证书。美格智能已连续通过业内两家权威实验室的测试认证,充分验证SRM813Q系列模组已经具备了成熟的商用能力,将为智慧工业、安防监…

docker - 常用容器部署命令大全(MySQL、Redis、RabbitMQ、ES、Kibana、Nacos、Sentinel)

目录 一、常用容器运行指令 MySQL Redis RabbitMQ ElasticSearch & kibana Nacos Sentinel 一、常用容器运行指令 MySQL docker run -d --name mysql -p 3306:3306 -e TZAsia/Shanghai -e MYSQL_ROOT_PASSWORD1111 mysql:5.7 -e TZAsia/Shanghai:指定…

听GPT 讲Rust源代码--compiler(26)

File: rust/compiler/rustc_target/src/abi/call/mips.rs 在Rust源代码中的rust/compiler/rustc_target/src/abi/call/mips.rs文件是关于MIPS架构的函数调用ABI(Aplication Binary Interface)定义。ABI是编程语言与底层平台之间的接口规范,用于定义函数调用、参数传…