Docker中容器数据卷

news2024/10/6 2:30:35

容器数据卷

  • 一.什么是容器数据卷
  • 二.使用数据卷
    • 方式一:直接使用命令来挂载 -v
  • 三.具名和匿名挂载

一.什么是容器数据卷

docker理念
将应用和环境打包成一个镜像!
数据?如果数据都在容器中,那么我们的容器删除,数据就会丢失! 需求:数据可以持久化
MYSQL,容器删除了,删库跑路! 需求:MYSQL数据可以存储在本地!
容器之间可以有一个数据共享技术!Docker容器产生的数据,同步到本地!
则就是容器技术!目录的挂载,将我们容器中的目录,挂载到Linux上
在这里插入图片描述
总结:容器的持久化和同步操作!荣期间也是可以数据共享的!

二.使用数据卷

方式一:直接使用命令来挂载 -v

[root@docker test]# docker  run -it -v 主机目录:容器目录

# 测试
[root@docker home]# docker run -it -v /home/test:/home centos

# 启动起来时我们通过docker  inspect 容器id

在这里插入图片描述
测试文件的同步
在这里插入图片描述
停止容器
宿主机上修改文件
启动容器
容器内数据依旧是同步的
在这里插入图片描述
实战:安装mysql
思考:mysql数据持久化的问题

# 获取镜像
[root@docker home]# docker  pull  mysql:5.7
# 运行容器,需要做数据挂在!  #安装启动mysql,需要配置密码,注意要点
# 官方测试:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-sercert-pw -d mysql:tag

# 启动我们的
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
--name 容器名字

[root@docker home]# docker  run -d -p 3306:3306  -v /home/mysql/conf:/etc/my.cnf -v /home/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --name mysql01  mysql:5.7 

# 启动成功之后,我们本地使用dbeaver测试
# 通过本机的3306 --- 容器的3306映射

假设我们将容器删除
在这里插入图片描述
发现,我们挂载到本地的数据卷依旧没有丢失,这就实现了容器数据持久化功能!

三.具名和匿名挂载

# 匿名挂载
-v 容器内路径!
docker run  -d -P --name nginx01  -v /etc/nginx   nginx

# 查看所有的volume情况
[root@docker ~]# docker   volume ls
DRIVER    VOLUME NAME
local     2bfd52dcc305b4fd6a14ab6995ad0b4d64d7324f81e77bcf2a14b3ff86b5c242

# 这里发现,这种就是匿名挂载,我们在-v只写了容器的路径,没有写容器外的路径

#具名挂载
[root@docker ~]# docker  run  -d -P --name nginx02 -v test_nginx:/etc/nginx   nginx
777acae83df92a58b91264d691786ad312e27e6a81f6503973319343f6cfd56d
[root@docker ~]# docker  volume  ls
DRIVER    VOLUME NAME
local     test_nginx
# 通过 -v 卷名:容器内路径

查看一下这个卷
在这里插入图片描述
所有的docker容器的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/xxxx/_data
我们通过具名挂可以方便的找到我们的一个卷,大多数情况使用的是具名挂载

如何确定是具名挂载还是匿名挂载,还是指定路径挂载
 -v 容器内路径  # 匿名挂载 
 -v 卷名:容器内路径 # 匿名挂载 
 -v /宿主机路径:容器内路径 # 指定路径挂在

拓展

# 通过 -v容器内路径:ro rw 改变读写权限 
ro readonly  # 只读
rw readwrite # 可读可写
# 一旦这个设置了容器权限,容器对我们挂载出来的内容就有限定了
docker run -d -P --name nginx01 -v test_nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx01 -v test_nginx:/etc/nginx:rw nginx
# ro 只要看到了ro就说明这个路径只能通过宿主机来操作,容器内部是无法操作的

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

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

相关文章

一文吃透UML图(海贼版)

先来简单的说一说什么是UML? UML是统一建模语言,是用来设计软件的可视化建模语言,它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息,UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图…

spring boot 服务健康检测返回OUT_OF_SERVICE,导致服务无法成功注册到consul

一、背景 健康检测接口返回OUT_OF_SERVICE curl -X GET http://192.168.5.53:8085/mgm/health{"status":"OUT_OF_SERVICE"}从日志启动看,没有任何报错信息;而且jvm进程也启动成功。 关键的一点信息是,服务的swagger地…

docker 资源限制

目录 1、CPU使用率 2、CPU共享比例 3、CPU周期限制 4、CPU核心限制 5、CPU 配额控制参数的混合案例 6、内存限制 7、Block IO 的限制 8、限制bps 和iops docker资源限制 Docker容器技术底层是通过Cgroup(Control Group 控制组)实现容器对物理资…

iOS多线程——pthread、NSThread

pthread NSThread 多线程的常见方案pthreadpthread 简介pthread 使用方法pthread 其他相关方法 NSThread创建、启动线程线程相关用法线程状态控制方法线程之间的通信NSThread 线程安全和线程同步NSThread 非线程安全NSThread 线程安全 多线程的常见方案 技术方案特点使用语言线…

[企业权限管理项目](二)环境搭建

数据库与表结构 oracle Oracle 为每个项目创建单独user,oracle数据表存放在表空间下,每个用户有独立表空间 创建用户及密码 语法[创建用户]: create user 用户名 identified by 口令[即密码]; 例子: create user tes…

bigemap在草原行业的应用案例

一.为什么选择Bigemap 1.使用软件一般都用于套坐标以及空间规划图,方便于项目选址和居民建房报建 2.在卫星图上找到用地范围,然后打点,导出点位范围的2000坐标,用于汇报出图 3.CGCS2000坐标系通过矢量转换转成地方坐标系

Noah-MP陆面过程模型建模方法与站点、区域模拟教程

详情点击链接:Noah-MP陆面过程模型建模方法与站点、区域模拟教程 陆面过程的内容(陆表能量平衡、水循环、碳循环等),陆面过程研究的重要性。 图 1 陆面过程主要研究内容 陆面过程模型的发展、基本原理、常用陆面过程模型等。 图…

VR虚拟仿真技术在道路桥梁中有哪些具体应用?

虚拟现实(VR)是一种新兴的技术,可以为桥梁工程提供许多应用场景。以下是一些可能的应用场景: 1.桥梁设计和模拟 VR元宇宙可以用于桥梁的设计和模拟。工程师可以使用VR技术来创建桥梁的三维模型,并对其进行测试和优化。这可以帮助工程师更好地…

C# Blazor 学习笔记(7):组件嵌套开发

文章目录 前言相关资料组件嵌套组件模板RenderFragment 意义传统前端样式组件化css 前言 我们在组件化一共有三个目的。 不用写CSS不用写html不用写交互逻辑 简单来说就是Java常说的约定大于配置。我们只需要必须的参数即可,其它的都按照默认配置。我们不需要关系…

intel advisor安装与使用

前言 没有搜到相关教程,所以自己写一篇,如有不足请指正 安装 建议直接安装完整工具包 Intel oneAPI Base Toolkit 注意先安这个 https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html linux指令 wget http…

让这些ai绘画神器为你打开创作灵感的大门

在一个小镇上,住着一位名为奥斯卡的艺术家。他的画作仿佛有生命般跃动,每一幅都散发着神秘的魔力。然而,奥斯卡却感到自己的创造力有些枯竭。他渴望找到一种新的灵感源泉,以挑战自己的创作瓶颈。这时,他听说了ai绘画生…

大数据与okcc呼叫中心融合的几种方式

在实际的生产实践中,为提高营销效率,避免骚扰大众,很多呼叫中心业务会与大数据平台进行合作,进行精准营销。 买卖数据是非法的,大数据平台方并不会提供直接的数据,一般情况下,提供的数据都是脱…

马上解锁 StarRocks 存算分离,降本增效无需等!

StarRocks 于 4 月底正式发布了 3.0 版本,该里程碑版本带来了大家期盼已久的新特性--存算分离。此新功能一推出,立即受到社区热情追捧,用户纷纷开始在自己的业务中评估和测试存算分离效果。从芒果TV、聚水潭、网易邮箱、浪潮、天道金科等数十…

【技巧】学术Poster的制作要点,详细!

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 内容零零散散均收集自网上,有点杂忘了引用。 内容技巧 https://posts.careerengine.us/p/5dac3e628c131b0541dd9171 展示内容包括(将信息分块) 可选择性删减,注意…

分享可以免费使用的5款好用小工具

​ 最近后台收到好多小伙伴的私信,今天继续推荐五款小工具,都是免费使用的,大家可以去试试看。 剪贴板管理器——ClipX ​ ClipX是一款微型剪贴板管理器,可以记录你复制的文本和图像,并让你随时通过快捷键或鼠标菜单…

git面试题

文章目录 git经常用哪些指令git出现代码冲突怎么解决你们团队是怎么管理git分支的如何实现Git的免密操作 git经常用哪些指令 产生代码库 新建一个git代码库 git init下载远程项目和它的整个代码历史 git clone 远程仓库地址配置 显示配置 git config --list [--global]编辑配置…

Python爬虫 从小白到高手 各种最新案例! request scrapy

Python爬虫 从小白到高手 各种最新案例! Urllib Xpath JsonPath BeautifulSoup requests 1.基本使用 1.官方文档: http://cn.python‐requests.org/zh_CN/latest/ 快速上手 http://cn.python‐requests.org/zh_CN/latest/user/quickstart.html 2.安装 pi…

数字运营、协同高效,为园区高质量发展插上“数字化”翅膀

园区,是产业集群的枢纽,是城市发展的基本要素。近年来,以大数据、人工智能、云计算等为代表的数字技术与城市的千行百业融合“发酵”,正在加速城市主体的智能升级。智慧园区作为数字化转型升级的一个缩影,上承智慧城市…

Rust dyn - 动态分发 trait 对象

dyn - 动态分发 trait 对象 dyn是关键字,用于指示一个类型是动态分发(dynamic dispatch),也就是说,它是通过trait object实现的。这意味着这个类型在编译期间不确定,只有在运行时才能确定。 practice tr…

阿里云ECS部署Mysql数据库

说明 首先需要到阿里云官方购买阿里云产品 ,如果有机会可以免费试用那会更好,跳过购买云服务步骤下面直接演示。 一、阿里云官网示意图 1.百度搜索 阿里云官方 2.点击控制台 3.展开更多 4. 选择云服务器ECS 5. 点击实例 可以看到服务器状态&#xff…