kubernetes Spring Cloud 微服务架构— (6)Kubernetes spring cloud 微服务-数据卷管理

简介: 第 6 章 数据卷管理 本章节主要介绍 Docker 数据卷的使用场景; 复制宿主机文件到容器中,怎样创建数据卷,以及数据卷的权限管理。

6.0 数据卷特点

数据卷是一个可供一个或多个容器使用的本地文件目录,主要特性如下:

1)数据卷可以在容器之间共享和重用

2)对数据卷的修改会立即生效

3)对数据卷的更新,不会影响镜像

4)数据卷默认会一直存在,即使容器被删除提示:数据卷的使用,类似于 Linux 下对目录进行 mount

6.1 使用场景

1)   程序目录

2)   程序日志

3)   集群数据目录

 

6.2 数据卷操作

#从容器内拷贝文件到主机上

6.2.1 语法:


/

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- 
#将容器的/test.txt 拷贝到主机的 /tmp目录中
[root@localhost ~]# docker run -it --name c1 -h c1-test centos /bin/bash 
[root@c1 /]# echo "docker" > /test.txt 
#cp 也可以拷贝目录 
[root@master ~]# docker cp c1:/test.txt /tmp/ 
[root@master ~]# ls /tmp/test.txt  
/tmp/test.txt
[root@master ~]# cat /tmp/test.txt docker

6.2.2 #推送文件至容器/tmp 目录下,通过容器ID

[root@docker ~]# echo 'ceshi' >ceshi.txt 
#复制本机的 ceshi.txt 文件到容器 c06fc46a1176 
#注意复制到容器中的文件与挂载本机的目录到容器有不同, 如果是挂载的模式,在本机目录写入文件那么也会同步到容器, 如果是复制文件,则内容不会同步
[root@master ~]# docker cp ./ceshi.txt c1:/tmp


/

 

6.2.3 #检查

[root@docker   ~]# docker attach c1   进入容器
[root@docker ~]# echo 'ceshi' >ceshi.txt 
#复制本机的 ceshi.txt 文件到容器 c06fc46a1176 
#注意复制到容器中的文件与挂载本机的目录到容器有不同, 如果是挂载的模式,在本机目录写入文件那么也会同步到容器, 如果是复制文件,则内容不会同步
[root@master ~]# docker cp ./ceshi.txt c1:/tmp 

6.3 创建数据卷

使用docker run 命令中使用-v 标识来给容器内添加一个数据卷,也可以在一次docker run 命令中, 多次使用-v 标识挂载多个数据卷。


数据卷的使用场景

 

 

6.3.1 创建一个新容器并挂载本地目录

[root@master ~]# echo "from   local txt" > /mnt/fromlocal.txt #宿主机操作 
#将本地目录/mnt 挂载到容器的/mnt 
[root@docker ~]# docker run -it -v   /mnt/:/mnt centos /bin/bash 
[root@97f04ce38226 mnt]# cat   fromlocal.txt  from local txt 
#在宿主机/mnt 创建目录, 会在容器挂载目录中实时看到

6.4 数据卷权限设置

docker 默认情况下是对数据卷有读写权限,但是通过这样的方式让数据卷只读

[root@demo ~]# docker run -it --name   centos-ro -v /mnt:/mnt:ro  centos   /bin/bash #创建文件报错 
[root@875aaa01cccc mnt]# touch t1.txt touch:   cannot touch 't1.txt': Read-only file system


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
7月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
7538 105
|
10月前
|
人工智能 Kubernetes 数据可视化
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
本文回顾了一次关键词监测任务在容器集群中失效的全过程,分析了中转IP复用、调度节奏和异常处理等隐性风险,并提出通过解耦架构、动态IP分发和行为模拟优化采集策略,最终实现稳定高效的数据抓取与分析。
212 2
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
|
7月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
7月前
|
NoSQL Java 数据库连接
《深入理解Spring》Spring Data——数据访问的统一抽象与极致简化
Spring Data通过Repository抽象和方法名派生查询,简化数据访问层开发,告别冗余CRUD代码。支持JPA、MongoDB、Redis等多种存储,统一编程模型,提升开发效率与架构灵活性,是Java开发者必备利器。(238字)
|
8月前
|
Java 数据库 数据安全/隐私保护
Spring Boot四层架构深度解析
本文详解Spring Boot四层架构(Controller-Service-DAO-Database)的核心思想与实战应用,涵盖职责划分、代码结构、依赖注入、事务管理及常见问题解决方案,助力构建高内聚、低耦合的企业级应用。
1562 1
|
8月前
|
Kubernetes Devops API
从零到面试高手:每个 DevOps 专业人士都必须知道的 20 个 Kubernetes 架构问答
Kubernetes 是当前 DevOps、云原生和 SRE 领域的关键技能。本文总结了 20 个高频面试问题,涵盖架构组件、工作原理及核心概念,助你轻松掌握 Kubernetes 基础,提升面试与实战能力。
414 2
|
边缘计算 Kubernetes 物联网
Kubernetes 赋能边缘计算:架构解析、挑战突破与实践方案
在物联网和工业互联网快速发展的背景下,边缘计算凭借就近处理数据的优势,成为解决云计算延迟高、带宽成本高的关键技术。而 Kubernetes 凭借统一管理、容器化适配和强大生态扩展性,正逐步成为边缘计算的核心编排平台。本文系统解析 Kubernetes 适配边缘环境的架构分层、核心挑战与新兴解决方案,为企业落地边缘项目提供实践参考。
720 0
|
8月前
|
Kubernetes Java 微服务
Spring Cloud 微服务架构技术解析与实践指南
本文档全面介绍 Spring Cloud 微服务架构的核心组件、设计理念和实现方案。作为构建分布式系统的综合工具箱,Spring Cloud 为微服务架构提供了服务发现、配置管理、负载均衡、熔断器等关键功能的标准化实现。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
685 0
|
10月前
|
JSON Java 数据格式
Spring Boot返回Json数据及数据封装
在Spring Boot中,接口间及前后端的数据传输通常使用JSON格式。通过@RestController注解,可轻松实现Controller返回JSON数据。该注解是Spring Boot新增的组合注解,结合了@Controller和@ResponseBody的功能,默认将返回值转换为JSON格式。Spring Boot底层默认采用Jackson作为JSON解析框架,并通过spring-boot-starter-json依赖集成了相关库,包括jackson-databind、jackson-datatype-jdk8等常用模块,简化了开发者对依赖的手动管理。
831 3