docker中三种常用的持久化数据的方式

文章目录

  • 介绍
    • 1.docker run -v
    • 2.volumes
    • 3.bind mounts

介绍

“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。”

在Docker中,有以下三种常用的持久化数据的方式,可以将宿主机挂载到容器中

  • 1.docker run -v
    运行容器是,直接挂载本地目录到容器中
  • 2.Docker 数据卷(Docker Volumes):
    • docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)
    • 是docker默认的存储数据费昂视
  • 3.bind mounts:
    • 将宿主机上的任意位置文件或目录挂载到容器中

下面进行练习说明:

1.docker run -v

运行一个容器,挂载本地目录

创建本地目录

mkdir /opt/wwwroot
echo "web1" > /opt/wwwroot/index.html

想本地目录中添加index.html文件

docker run -d --name web1 -v opt/wwwroot/index:/usr/share/nginx/html nginx:latest

运行容器,将/opt/wwwroot目录挂载到/usr/share/nginx/html目录中
docker ps

在这里插入图片描述
查容器ip

docker inpect web1 | grep IPAddress

在这里插入图片描述
访问nginx容器

在这里插入图片描述
可以看到本地的文件已经映射到了容器中。

2.volumes

创建一个特殊的目录,由 Docker 管理,并且可以在多个容器之间共享和重用。使用 -v 或 --mount 参数以及卷的名称指定要挂载的数据卷。

注意
位置是: var/lib/docker/volumes/
不是很灵活!!!

创建一个容器卷:

/var/lib/docker/volumes/nginx-vol/

查看该文件

ls /var/lib/docker/volumes/nginx-vol/_data/

在这里插入图片描述
还没有任何东西

docker run -d --name web2 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx:latest

再次查看挂载点

ls /var/lib/docker/volumes/nginx-vol/_data/

在这里插入图片描述

3.bind mounts

这种方式比volumens 比较灵活,可以在宿主机任何位置创建文件挂载。

创建用于容器挂载目录web5root

mkdir /opt/web5root

运转web5容器使用bindmount方式实现本地任意目录挂载

docker run -d --name web5 --mount type=bind,src=/opt/web5root,dst=/usr/share/nginx/html nginx:latest

查看已创建目录,里面没有任何数据

ls /opt/web5root/

添加内容到 /opt/web5root/index中

echo "web5 running" > index.html

使用url或者wget访问容器,curl上面用过了,这次用wget

wget -O - -q 172.21.83.6

在这里插入图片描述

这些持久化方式提供了不同的灵活性和适应性,可以根据具体需求选择合适的方式进行数据的持久化。


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

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

相关文章

redis 极简分布式锁实现

写在前面 工作中遇到,整理 reids 做简单分布式锁的思考博文适合刚接触 redis 的小伙伴理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是…

【MySQL】MySQL库

使用C/C语言链接MySQL 一、mysql connect二、mysql 接口介绍1. 初始化 mysql_init()2. 链接数据库 mysql_real_connect()3. 执行 mysql 命令 mysql_query()4. 获取执行结果 mysql_store_result()5. 释放空间5. 关闭 mysql 链接 mysql_close() 一、mysql connect 要使用C语言连…

Oracle篇—普通表迁移到分区表(第五篇,总共五篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面

如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 🌈你好呀!我是 是Yu欸 🌌 202…

IDEA中的Run Dashboard

Run Dashboard是IntelliJ IDEA中的工具【也就是View中的Services】,提供一个可视化界面,用于管理控制应用程序的运行和调试过程。 在Run DashBoard中,可以看到所有的运行配置,以及每个配置的运行状态(正在运行&#xf…

Camille-学习笔记-web基础知识

web基础1.系统架构 B/S :Browser/Server 网站 界面层(UI) 业务逻辑层(业务) 数据访问层(数据库) 静态网页:和服务器没有数据交互 动态网页:网页数据可以和服务器进行数据交互 URL…

python执行linux系统命令的三种方式

前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 1. 使用os.system 无法获取命令执行后的返回信息 import osos.system(ls)2. 使用os.popen 能够获取命令执行后的返回信息 impor…

《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)

文章目录 7.1 文本数据的基本操作7.1.1 基础知识7.1.2 重点案例:客户反馈分析7.1.3 拓展案例一:产品评论的关键词提取7.1.4 拓展案例二:日志文件中的日期提取 7.2 使用正则表达式处理文本7.2.1 基础知识7.2.2 重点案例:日志文件错…

VMware创建虚拟机

点击文件,新建虚拟机 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

【LeetCode】每日一题 2024_2_2 石子游戏 VI(排序、贪心)

文章目录 LeetCode?启动!!!题目:石子游戏 VI题目描述代码与解题思路 LeetCode?启动!!! 题目:石子游戏 VI 题目链接:1686. 石子游戏 VI 题目描述…

Hbase-2.4.11_hadoop-3.1.3集群_大数据集群_SSH修改默认端口22为其他端口---记录025_大数据工作笔记0185

其实修改起来非常简单,但是在大数据集群中,使用到了很多的脚步,也需要修改, 这里把,大数据集群,整体如何修改SSH端口,为22022,进行总结一下: 0.hbase-2.4.11的话,hbase集群修改默认SSH端口22,修改成22022,需要修改 需要修改/opt/module/hbase-2.4.11/conf/hbase-env.sh 这里…

shell脚本之免交互

目录 一、Here Document 免交互 1、交互与免交互的概念 2、 Here Document 概述 二、Here Document 应用 1、使用cat命令多行重定向 2、使用tee命令多行重定向 3、使用read命令多行重定向 4、使用wc -l统计行数 5、使用passwd命令用户修改密码 6、Here Document 变量…

fastadmin导入excel并对导入数据处理

情景描述 fastadmin有自带的导入功能,但是不好用,它要求你的表格标题必须跟数据表的备注一致,而且拿到的数据是直接插入数据表,我们无法获取想要的数据并对数据进行处理;而且有时候我们只是想要单纯的读取文件功能&…

丰田再怼「纯电动」,抛出「30%上限论」背后的焦虑和矛盾

让传统车企「丢掉」燃油车的包袱,并不简单。一边是赚钱,一边是烧钱,如何平衡是一个不小的难题。 本周,丰田董事长丰田章男对外表示,其预测未来电动汽车的市场份额将只有30%。而在电动化进程中,丰田章男一直…

【智慧农业】东胜物联温室监控系统硬件解决方案,自动化控制温室灯光、温湿度等

温室监控系统旨在提高智慧农业的工业生产率和效率。根据最近的一项研究,农业领域的物联网市场预计到2026年将达到约187亿美元。物联网技术包括自主耕作方法,帮助农场生产高质量的商品,并为农场经理提供最佳功能。某上市药企因业务需要&#x…

惊鸿一瞥-网络初识

💕"Echo"💕 作者:Mylvzi 文章主要内容:惊鸿一瞥-网络初识 一.网络的发展过程 网络的发展过程是循序渐进的,大致可以分为四个阶段: 单机时代->局域网时代->广域网时代->互联网时代 单机时代:就是每个机器之间…

[SwiftUI]使用UIActivityViewController来实现系统分享功能

在 SwiftUI 中,你可以使用 UIActivityViewController 来实现系统分享功能。由于 SwiftUI 目前没有直接提供类似的视图或修饰符,你需要使用 UIViewControllerRepresentable 协议来创建一个可以在 SwiftUI 视图中使用的 ActivityView。 首先,你…

BIO、NIO编程与直接内存、零拷贝

一、网络通信 1、什么是socket? Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口,一般由操作 系统提供。客户端连接上一个服务端,就会在客户端中产生一个 socket 接口实例,服务端每接受 一个客户端…

[机缘参悟-142] :一个软件架构师对佛学的理解 -6- 从计算机和数学的角度理解佛家的“因果”与十二因缘

目录 一、什么是因缘 1.1 佛家的因缘 1.2 佛家的因缘与因果轮回 1.2 从计算机角度理解因缘 1.3 从数学的角度理解因缘 二、佛家的十二因缘 2.1 大多数人的轮回 2.2 大多数人的的十二因缘轮回 2.3 十二因缘与三世因果的关系 2.4 十二因缘的现实意义 2.5 十二因缘与生…

Trie树数据结构——(字符串统计,最大异或对)

Trie树&#xff1a;是一种能够高效存储和查找字符串集合的数据结构 Trie字符串统计 思路&#xff1a; &#xff08;笔记来自AcWing 835. Trie字符串统计 - AcWing&#xff09; 代码如下&#xff1a; #include<iostream> #include<cstdio> #include<string>…