【Docker篇】数据卷相关操作

文章目录

  • 🎈前言
  • 🍔数据卷
  • 🛸操作命令
    • ⭐创建一个数据卷,并查看数据卷在宿主机的目录位置
  • 🌹挂载数据卷

在这里插入图片描述

🎈前言

在前面文章的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并且因为没有编辑器,修改文件也很麻烦。

这就是因为容器与数据(容器内文件)耦合带来的后果。
在这里插入图片描述
我们可以使用数据卷来解决这个问题

🍔数据卷

数据卷(Data Volume)是在容器化环境中用于持久化存储数据的一种机制。它可以在容器和主机之间共享和存储数据,以便容器可以在重新启动或迁移后保留数据状态。

数据卷提供了一个独立于容器的文件系统,它可以被一个或多个容器挂载和访问。是一个虚拟目录,指向宿主机文件系统中的某个目录。这意味着即使容器被删除或重启,数据卷中的数据仍然存在。数据卷可以包含文件、目录或整个文件系统。

将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全
在这里插入图片描述
一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。

这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了

🛸操作命令

基本语法

docker volume [COMMAND]

docker volume命令是数据卷操作,根据命令后跟随的command来确定下一步的操作:

  • create 创建一个volume
  • inspect 显示一个或多个volume的信息
  • ls 列出所有的volume
  • prune 删除未使用的volume
  • rm 删除一个或多个指定的volume

⭐创建一个数据卷,并查看数据卷在宿主机的目录位置


创建数据卷

docker volume create html

在这里插入图片描述
查看所有数据

在这里插入图片描述
查看数据卷详细内容
在这里插入图片描述

可以看到,我们创建的html这个数据卷关联的宿主机目录为/var/lib/docker/volumes/html/_data目录。

🌹挂载数据卷

挂载数据卷在容器化环境中有以下几个用途和好处:

数据持久性:通过将数据卷挂载到容器中,可以将数据存储在主机上的持久存储介质中,使得即使容器被删除或重启,数据仍然保留。这对于需要长期保存数据的应用程序非常重要。

数据共享:多个容器可以通过挂载同一个数据卷来共享数据。这可以实现容器之间的数据交换和共享状态,提高协作和数据一致性。例如,多个容器可以共享配置文件、日志文件、数据库文件等。

数据备份和恢复:通过挂载数据卷,可以方便地进行数据备份和恢复操作。可以定期备份数据卷,以防止数据丢失或损坏,并在需要时恢复数据到先前的状态。

数据迁移:数据卷的挂载可以实现容器和主机之间的数据迁移。当需要在不同的环境或主机之间迁移容器时,可以将数据卷挂载到新的容器中,以保留原有的数据和状态。


我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器内目录,命令格式如下:

docker run \--name mn \-v html:/root/html \-p 8080:80nginx \

这里的-v就是挂载数据卷的命令:

  • -v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 3 + TypeScript 项目中全局挂载并使用工具函数

一、proxy方式 1.封装日期选择工具函数: 在untils文件夹下新建index.ts,并导出工具函数 /*** 获取不同类型日期* param:类型 dateVal: 是否指定*/ export function getSystemDate(param: any, dateVal: any) {let systemDate dateVal ? new Date(da…

BlenderGIS 快捷键E 报错问题 Report: Error

最新版的Blender4.0 对于 BlenderGIS2.28版本的插件不兼容,BlenderGIS2.28兼容Blender3.6.9及之前的版本,应该是BlenderGIS插件很久没更新了导致的。

手撕算法-对称二叉树

力扣101. 对称二叉树 链接 https://leetcode.cn/problems/symmetric-tree/description/ 题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。示例1:此树是对称的。示例2:此树也是对称的示例3:此树不对称 思路 一颗…

模板进阶:非类型模板参数,特化

一、非类型模板参数 非类型模板参数&#xff0c;就是用一个常量作为 类/函数 的模板参数&#xff0c;在 类/函数 中可以被当成常量使用。 template<class T, size_t N>// N 为一个非类型模板参数 class Stack { public:Stack(){_a new T[N];} protected:T* _a; };int m…

AI成就画质冠军!海信电视U8N Pro的“硬参数”和“软实力”

不得不说&#xff0c;这几年AI落地大有摧枯拉朽之势&#xff0c;也离普通人的生活越来越近了。 如果说&#xff0c;曾经1997年“深蓝”计算机赢下国际象棋世界冠军&#xff0c;还没那么让人印象深刻&#xff0c;2016年Alpha Go战胜围棋世界冠军&#xff0c;即使广泛关注&#…

[做题]双指针

第一天刷题。一个平实的开始&#xff0c;希望能坚持下来&#xff0c;不求波涛汹涌&#xff0c;大浪淘沙&#xff0c;但求静水流深&#xff0c;川流不息。 先学习双指针。题目方向分为两个&#xff1a;链表和数组。 在处理数组和链表相关问题时&#xff0c;双指针技巧是经常用到…

SQLiteC/C++接口详细介绍之sqlite3类(十三)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十二&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十四&#xff09;&#xff08;未发表&#xff09; 40.sqlite3…

[SaaS] 淘宝设AI

“淘宝设计AI” 让国际大牌造世界双11超级品牌 超级发布https://mp.weixin.qq.com/s/xFVDARQHxlweKAYG91DtYw下面是一个完整的品牌营销海报设计流程&#xff0c;AIGC起到了巨大作用&#xff0c;但是仍然很难去一步解决这个问题&#xff0c;还是逐步修改的一个过程。 Midjouner…

26.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-实现生成日志文件的功能

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;25.利用全新的通…

Mybatis sql 控制台格式化

package com.mysql; import org.apache.commons.lang.StringUtils; import org.apache.ibatis.logging.Log;import java.util.*;/*** Description: sql 格式化* Author: DingQiMing* Date: 2023-07-17* Version: V1.0*/ public class StdOutImpl implements Log {private stati…

别忽视平台的重要性

目录 前言&#xff1a; 与谁在一起&#xff0c;真的很重要 别把运气当才华&#xff0c;别把平台当本事 珍惜平台&#xff0c;用好平台 前言&#xff1a; 对于做技术开发的人来说&#xff0c;一头扎进技术里面去固然重要&#xff0c;但是很多时候&#xff0c;也要看看人际交…

提高安全投资回报:威胁建模和OPEN FAIR™风险分析

对大多数人和企业来说&#xff0c;安全意味着一种成本。但重要的是如何获得适合的量&#xff0c;而不是越多越好。然而&#xff0c;你如何决定什么时候可以有足够的安全性&#xff0c;以及你如何获得它&#xff1f;则完全是另一回事。 该篇文章是由The Open Group安全论坛主办&…