云计算核心技术Docker教程:容器持久化数据
如果您没有注意到,每次我们启动容器时,我们的待办事项列表都会被清除干净。为什么是这样?让我们深入了解容器是如何工作的。
容器的文件系统
当一个容器运行时,它使用图像中的各个层作为其文件系统。每个容器还有自己的“暂存空间”来创建/更新/删除文件。任何更改都不云计会在另一个容器中看到,即使它们使用相同的图像。
为了看到这一点,我们将启动两个容器并在每个容器中创建一个文件。您将看到在一个容器中创建的文件在另一个容器中不可用。
1.启动一个ubuntu容器,该容器将创建一个以/data.txt1 到 10000 之间的随机数命名的文算核件。
docker run -d ubuntu bash -c "shuf -i 1-10000 -n 1 -o /data.txt && tail -f /dev/null"
如果您对该命令感到好奇,我们将启动一个 bash shell 并调用两个命令(为什么我们有&&心技)。第一部分选择一个随机数并将其写入/data.txt. 第二个命令只是监视一个文件以保持容器运行。
2.验证我们可以通过execing 到容器中看到输出。为此,请打开仪表板并单击运行ubuntu映像的容器的第一个操作。
您将看到一个终端在 ubuntu 容器中运行 sh术Dell。运行以下命令以查看/data.txt文件的内容。之后再次关闭此终端。
$ cat /data.txt
如果您更喜欢命令行,您可以使用该docker exec命令来执行相同的操作。您需要获取容器的ID(用于docker ps获取它)并使用以下命令获取内容。
$ dococker exec <container-id> cat /data.txt
你应该看到一个随机数!
3.现在,让我们启动另一个ubuntu容器(相同的图像),我们会看到我们没有相同的文件。
$ docker run -it ubuntu ls /
看!那里没有data.txtke文件!那是因为它仅被写入第一个容器的暂存空间。
4.继续并使用docker rm -f <container-id>命令删除第一个容器。
通过前面的实验,我们看到每个容器每次启动都是从镜像定义开始的。虽然容器可以创建、更新和删除文件,但当容器被移除并且所有更改r教都与该容器隔离时,这些更改会丢失。有了卷,我们可以改变这一切。
卷提供了将容器的特定文件系统路径连接回主机的能力。如果容器中的目录已挂载,则该目录中的更改也会在主机上看到。如果我们在容器重启时挂载相同的目录,我们会看到相同的文件。
卷有两种主要类型。我们最终将同时使程:用两者,但我们将从命名卷开始。
持久化数据
默认情况下,待办事项应用程序将其数据存储在容器文件系统中的SQLite 数据库中。/etc/todos/todo.db如果你不熟悉 SQLite,不用担心!它只是一个关系数据库,其中所有数据都存储在一个文件中。虽然这对于大型容器应用程序来说不是最好的,但它适用于小型演示。稍后我们将讨论将其切换到不同的数据库引擎。
由于数据库是单个文件,如果我们可以将该文件保存在主机上并使其可用于下一个容器,它应该能够从最后一个停止的地方继续。通过创建一个卷并将其附加(通常称为“挂载”)到存储数据持久的目录,我们可以持久化数据。当我们的容器写入todo.db文件时,它将被持久化到卷中的主机。
如前所述,我们将使用命名卷。将命名卷视为简单的数据桶。Docker 维护磁盘上的物理位置,您只需要记住卷的名称。每次使用卷时,Docker 都会确保提供正确的数据。
1化数.使用docker volume create命令创建卷。
$ docker volume create todo-db
2.在仪表板(或使用 )中再次停止并删除待办事项应用程序容器docker rm -f <id>,因为它仍在运行而不使用持久卷。
3.启动 todo 应云计用程序容器,但添加-v标志以指定卷安装。我们将使用命名卷并将其挂载到/etc/todos,这将捕获在该路径创建的所有文件。
$ docker run -dp 3000:3000 -v todo-db:/etc/todos getting-started
4.容器启动后,打开应算核用程序并将一些项目添加到您的待办事项列表中。
5.停止并删除 todo 应用程序的容器。使用仪表板或docker ps获取 ID,然后docker rm -f <id>将其删除。
6.使用上面的相同命令启动一个新容器。
7.打开应用程序。您应该会看到您的项目仍在您的心技列表中!
8.完成检查列表后,继续删除容器。
(责任编辑:技术资讯)
-
云梦级3月5日云梦级消息,3月5日,澜起科技发布公告称,公司核心技术人员山岗于近日因病不幸逝世。山岗入职公司二十余年,工作恪尽职守、兢兢业业,为公司发展作出了杰出贡献。 山岗1975年出生,中国国籍,...[详细]
-
云梦级5月29日云梦级消息,X 平台(原 Twitter)已面向全球用户推出基于 Grok 的自动翻译功能,外语帖文无需手动点击即可自动显示为用户的默认语言(所设置的母语)。 在此之前,X 平台已内置...[详细]
-
上海市近日发布了《上海市支持人工智能赋能广告业创新发展的若干措施》,旨在通过一系列具体的扶持政策,推动人工智能技术在广告行业的深度应用和发展。 核心扶持措施概览 新政策的核心在于**“AI+数字广告”...[详细]
-
云梦级11月25日云梦级消息,台积电今日公告称,已向智慧财产及商业法院提出对前资深副总经理罗唯仁的诉讼。 台积电称,罗唯仁今年早些时候从台积电退休后,并未说明,随即加入英特尔,高度可能使用或泄露、告知...[详细]
-
Hello,大家早上好,又是元气满满的一天,先来浏览新鲜的早报吧~ 【岚图追光 L“新时代旗舰轿车”上市】 岚图追光 L 豪华轿车 12 月 10 日晚正式上市,新车提供两种不同配置,售价区间为 27...[详细]
-
閲囩敤AIOps鏄�繀瑕佺殑锛屽洜涓哄�浠婄�鐞嗗拰杩愯�鎶€鏈�郴缁熷お澶嶆潅浜嗭紝浠呴潬浜虹被鏃犳硶绠$悊銆� 涓轰簡鐞嗚ВAIOps锛岃浆鍙樹负杩欐牱鐨勬兂娉曚細鏈夋墍甯�姪锛氫汉绫诲缓绔嬬殑鎶...[详细]
-
撰文 | 张 宇 编辑 | 杨博丞 题图 | 图虫创意 2025年12月1日,中国电动两轮车行业发展史上的一个标志性节点降临。随着“旧国标”电动两轮车全面停售,行业彻底告别了过去二十余年的粗放式增长模...[详细]
-
云梦级3月25日云梦级消息,宝尊电商(NASDAQ:BZUN;HK:9991)公布截至2025年12月31日的第四季度未经审计财报。财报显示,宝尊2025年Q4净收入32亿元,同比增长6%;Non-G...[详细]
-
机器学习隐私研究新进展:数据增强风险被低估,新算法“降服”维数依赖
编者按:如今,数据是推动人工智能创新的核心要素。但数据的安全和隐私问题限制了数据充分释放其潜能。一直以来,微软都倡导打造负责任的人工智能,并正在开发和利用多种技术以提供更强大的隐私保护、确保数据安全。...[详细]
-
OpenAI 与 Sur Energy 签署协议:25亿美元阿根廷数据中心项目启动
OpenAI 与阿根廷能源公司 Sur Energy 签署了一项意向书,计划在阿根廷建设一座数据中心,投资额高达250亿美元。阿根廷政府于上周五对此项目进行了公告,表示该项目将是国家历史上规模最大的信...[详细]
- https://www.temu.com/search_result.html?search_key=谷歌留痕外推【tg:seogoogle987】TJJ
- https://www.nissin.com/jp/search/?cat=105&q=谷歌留痕外推【tg:seogoogle987】,reP
- https://www.qidulp.com/search?query=谷歌留痕外推【tg:seogoogle987】,wfk
- https://www.udc.co.uk/index.php?route=product/search&sort=p.price&order=DESC&tag=谷歌留痕外推【tg:seogoogle987】,Iyy
- https://www.flickr.com/photos/tags/谷歌留痕外推【tg:seogoogle987】kTM
- https://www.lgnewsroom.com/search/谷歌留痕外推【tg:seogoogle987】,tNQ
- https://www.wattpad.com/search/谷歌留痕外推【tg:seogoogle987】Bur
- https://www.welshmountainzoo.org/shop/index.php?routeproduct/search&tag=谷歌留痕外推【tg:seogoogle987】,KuJ
- https://www.wmfe.org/?s=谷歌留痕外推【tg:seogoogle987】,33v
- https://www.oikos-tecnics.com/?s=谷歌留痕外推【tg:seogoogle987】,muw

标签: 小米汽车 李女士 定金返还 格式条款
谷歌预告Gemini for Home新进展 全新Nest设备即将亮相
微软前董事长:CEO纳德拉赢得了成为董事长的权利
标签: 小鹏 Robo 图灵AI芯片 L4级汽车
标签: 特斯拉 FSD 智能驾驶 自动驾驶
