0

0

云存储硬核技术内幕——(27) 次元壁坍塌

星夢妙者

星夢妙者

发布时间:2025-07-20 10:04:15

|

798人浏览过

|

来源于php中文网

原创

在上一期中,我们讨论了容器在运行时受到namespace、rootfs和cgroups等限制,无法将写入的数据持久化存储。然而,在云原生应用中,某些组件确实需要数据持久化存储。

回到我们开篇的问题:

X博希望利用kubeflow构建一个深度学习平台,用于训练神经网络模型,以便自动识别所有江疏影和方方的图片:

云存储硬核技术内幕——(27) 次元壁坍塌因此,kubeflow的容器实例必须能够将训练模型持久化存储。否则,X博的工作即使找到了抓手,协调了周边资源,明确了项目目标,提炼了底层逻辑,优化了策略,采取了综合措施,但由于缺乏沉淀,没有形成闭环,最终将毫无价值。X博将面临绩效评估3.25甚至3.0的严重危机。

那么,如何让X博及其领导下的kubeflow工作能够有效沉淀,最终形成闭环,帮助X博避免361考核的困境呢?

X博向方老师求助。尽管是来自竞争对手的请求,方老师本着知识共享的精神,为X博详细讲解了解决方案——

在创建docker容器时,我们实际上可以手动为容器添加持久化挂载的存储,例如在docker run命令中加入参数 -v。

我们来做一个实验:

首先,我们将用户切换到root,并在/root目录下创建一个名为tmp的目录。

云存储硬核技术内幕——(27) 次元壁坍塌然后,我们在root用户下运行ubuntu容器,使用以下命令:

docker run -it -u root -v ~/tmp:/mnt/tmp ubuntu

这条命令的作用是:

docker run \ #运行容器

-it \ #交互模式

-u root \ #指定使用root用户

-v ~/tmp:/mnt/tmp \# 将hostos的~/tmp/目录挂载到容器上的/mnt/tmp/目录

ubuntu \# ubuntu容器

云存储硬核技术内幕——(27) 次元壁坍塌接下来,我们查看hostos的/root/tmp/目录:

Copy.ai
Copy.ai

Copy.ai 是一个人工智能驱动的文案生成器

下载

云存储硬核技术内幕——(27) 次元壁坍塌在宿主机上,我们看到了目录test0。

然后,我们在ubuntu容器中执行以下操作:

云存储硬核技术内幕——(27) 次元壁坍塌我们使用cp /dev/stdin abc命令(将标准输入拷贝到文件abc),创建一个名为abc的文件,其内容是键盘输入的内容(标准输入)。

我们在ubuntu容器中查看abc文件的内容,与我们输入的内容一致:

云存储硬核技术内幕——(27) 次元壁坍塌然后,我们在hostos上查看:

云存储硬核技术内幕——(27) 次元壁坍塌文件内容与容器中写入的内容一致。

我们退出ubuntu容器后再次验证,文件仍然存在。这说明,通过为容器挂载本地持久化目录,我们已经突破了容器的次元壁,使容器能够读写外部的持久化存储。

如图所示,HostOS上的/root/tmp/目录被映射到ubuntu容器中的/mnt/tmp目录,成为了容器通过hostpath方式挂载的持久化存储。

云存储硬核技术内幕——(27) 次元壁坍塌如果我们有一台nfs服务器,也可以在容器启动时使用命令加上-v参数,将外部nfs目录挂载为容器的持久化卷。

这样一来,X博只需要在启动kubeflow容器时加上这个参数即可。

然而,在云原生的世界里,有一条铁律:

任何需要手动操作的事情,都不符合云原生的自动化原则。

我们需要的是,让容器能够自动化地挂载外部持久化共享卷。也就是说,让kubernetes在批量启动容器时,能够自动化地让容器挂载持久化卷,无论是块存储还是文件存储。

我们如何实现这一目标呢?

请看下回分解。

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

249

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

494

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

399

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

436

2024.04.08

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

800

2023.10.27

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

409

2023.12.28

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

656

2023.12.28

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

Docker 17 中文开发手册
Docker 17 中文开发手册

共0课时 | 0人学习

极客学院Docker视频教程
极客学院Docker视频教程

共33课时 | 17.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号