docker笔记5-数据卷

news2025/1/10 11:33:47

docker笔记5-数据卷

  • 一、数据卷
    • 1.1 定义
    • 1.2 本质
    • 1.3 特点
  • 二、使用数据卷
  • 三、案例
    • 2.1 安装Mysql
  • 四、匿名挂载和具名挂载
    • 4.1 匿名挂载
    • 4.2 具名挂载
  • 五、三种挂载方式


一、数据卷

1.1 定义

Docker 容器数据卷是一个可用于存储数据的特殊目录,存在于一个或多个容器的指定位置。这些数据卷可以绕过容器的文件系统,提供持久化的数据存储,以便多个容器之间容器与宿主机之间共享数据。

1.2 本质

实现数据的可持久化
在这里插入图片描述

1.3 特点

  • 持久性: 数据卷的内容在容器重启后仍然存在。
  • 共享性: 可以轻松地在多个容器之间共享数据。
  • 独立于容器生命周期: 数据卷的生命周期独立于容器,即使容器被删除,数据卷也可以保留。

二、使用数据卷

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

# 端口映射
docker run -it -p 主机端口:容器内端口
# 目录映射
docker run -it -v 主机目录:容器内目录

执行以下命令,实现主机目录:/home/ceshi与容器目录/home的映射,这样这两个目录的所有操作都会同步,即使容器已经停止运行。

docker run -it -v /home/ceshi:/home centos /bin/bash

可以通过以下命令查看容器目录是否挂载成功:

docker inspect 容器Id

以下内容说明挂载成功:

"Mounts": [
            {
                "Type": "bind",
                "Source": "/home/mysql/conf",
                "Destination": "/etc/mysql/conf.d",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/mysql/data",
                "Destination": "/var/lib/mysql",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

扩展:

#通过 -v 容器内路径:ro或者rw 改变读写权限
ro:readonly   #只读
rw: read write #可读可写

一旦这个设施了容器权限,容器对我们挂载出来的内容就有限定了
[root@lisa volumes]# docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
[root@lisa volumes]# docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx

# ro 只要看到ro就说明这个路径只能通过宿主机来操作,容器内部是无法操作!

三、案例

2.1 安装Mysql

目的:实现mysql中数据的持久化
首先,下载mysql镜像

docker pull mysql

需要配置mysql密码:

 参考官网hub 
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d 

启动mysql容器,设置数据卷挂载并配置mysql密码

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

可以使用数据库连接工具连接启动的mysql容器:
在这里插入图片描述下面是连接成功:
在这里插入图片描述

四、匿名挂载和具名挂载

4.1 匿名挂载

不指定挂载到主机上的路径,只指定容器内部需要挂载的目录。

docker run -d -P --name nginx01 -v /etc/nginx nginx

查看所有数据卷情况

docker volume ls

在这里插入图片描述

4.2 具名挂载

给挂载位置添加名字,即具名挂载。

docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
注意:这里 -v juming-nginx:  代表直接给定名字,但是没有指定路径,如果在juming-nginx前面你添加/,则代表指定路径

在这里插入图片描述

查看数据卷配置信息

docker volume inspect 数据卷id

在这里插入图片描述所有容器内的卷,在没有指定目录的情况下都是挂载在:/var/lib/docker/volumes/xxxx/_data 目录下。

五、三种挂载方式

挂载方式描述
匿名挂载-v 容器内部路径
具名挂载-v 卷名:容器内部路径
指定路径挂载-v /宿主机路径:容器内部路径

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

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

相关文章

免费【2024】springboot 出租车管理网站的设计与实现

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

unity2D游戏开发15自我防御

创建子弹 Ammo类来表示自子弹 创建一个GameObject,并命名为AmmoObject 将Ammo.png拖入Object中 属性设置,点击apply 将SpriteRenderer组件添加到AmmoObject,将Sorting Layer设置为Characters,并将Sprite属性设置为Ammo 将CircleCollider2D添加到AmmoObject。确保选中Is Tr…

【C++高阶】哈希的应用(封装unordered_map和unordered_set)

✨ 世事漫随流水,算来一生浮梦 🌏 📃个人主页:island1314 🔥个人专栏:C学习 🚀 欢迎关注:👍点赞 👂&…

KubeSphere部署:(三)MySQL安装

MySQL没有什么特殊的,这里记录一下部署过程(本文示例中安装的版本为5.7.29)。步骤大致如下: 拉取docker镜像 -> 标记并推送至私有harbor -> 创建有状态负载 -> 创建服务 一、拉取镜像,并推送至私有harbor # 拉取镜像 docker pull …

PP氮气柜的特点和使用事项介绍

PP材质,全称为聚丙烯,是一种热塑性塑料,具有质轻、强度高、耐化学腐蚀性好、无毒无味、耐热性佳等优点。它在众多塑料材料中脱颖而出,特别是在需要耐腐蚀和长期使用的应用中,表现尤为出色。 PP材质具有优秀的化学稳定性…

Loadrunner12 回放脚本查看接口响应数据

1、如下图所示,回放脚本后,点击快照-http数据-点击需要查看的接口-点击Json视图,最后点击响应正文,即可查看接口的响应数据

生信初学者教程(癌症转录组学):手把手教你如何发生信文章

网址 生信初学者教程(癌症转录组学) : https://bioinformatic-learner.github.io/BCT-page/ 提供了预览版本。 该教程包含从开题、数据下载、数据分析、结果解读、串联结果和撰写文章等等,是一份非常好的生信初学者发文章的好材料。 出发点…

【Linux】UDP 协议

目录 1. UDP 协议2. UDP 协议的特点:3. UDP 协议的格式4. UDP 的缓冲区基于UDP的应用层协议 1. UDP 协议 UDP (User Datagram Protocol) 是一种面向数据报的传输层协议, 是传输层的重要协议之一; UDP协议提供了一种无连接, 不可靠的数据传输服务; 适用于要求源主机以恒定速率…

响应式建站陶瓷企业类公司网站源码系统 带完整的安装代码包以及搭建部署教程

系统概述 响应式建站陶瓷企业类公司网站源码系统是一款专为陶瓷企业设计的网站建设解决方案。该系统采用响应式设计,能够自动适应不同设备的屏幕尺寸,为用户提供一致的浏览体验。无论用户是通过电脑、平板还是手机访问网站,都能获得清晰、美…

html+css 实现3D分层悬停按钮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 文…

太牛了!恭喜7位毕业急录、评职晋升作者,2天录用,1-8天见刊!

本周投稿推荐 SCI&EI • 4区“水刊”,纯正刊(来稿即录) • CCF-B类,IEEE一区-Top(3天初审) EI • 各领域沾边均可(2天录用) 知网(CNKI)、谷歌学术 …

posthog,一个超酷的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - posthog。 Github地址:https://github.com/PostHog/posthog 在现代数据驱动的开发过程中,了解用户行为和应用性能是至关重要的…

this关键字的简明指南与理解

this关键字是执行上下文中的一个属性,它主要用在函数内部,指向最后一次调用该函数的对象。然而,this 的值并不是在函数定义时确定的,而是在函数被调用时根据函数的调用方式动态绑定的。以下是对 this 的一些相关理解。 一、this的…

Scrapy 爬取旅游景点相关数据(七):利用指纹实现“不重复爬取”

本期学习: 利用网页指纹去重 众所周知,代理是要花钱的,那么在爬取(测试)巨量网页的时候,就不可能对已经爬取过的网站去重复的爬,这样会消耗大量的时间,更重要的是会消耗大量的IP (金…

redis的高可用及性能管理和雪崩

redis的高可用 redis当中,高可用概念更宽泛一些。 除了正常服务以外,数据量的扩容,数据安全。 实现高可用的方式: 1、持久化 最简单的高可用方法,主要功能就是备份数据。 把内存当中的数据保存到硬盘当中。 2、主…

如何有效增加谷歌外链?

想有效增加谷歌外链,其实还是要看你想要哪一种外链,但无论哪一种外链,都不能乱发,想有效的增加谷歌外链,看见明显的数据变化,这里只推荐三种外链,GPB,GNB,GMB 目前市面上最有效的外链…

负载驱动下的滚珠丝杆预压力优化策略!

滚珠丝杆的预紧力是指在未受到负载时,滚珠丝杆轴承内部的压力,主要是为了消除轴向后隙,‌减小轴向力引起的弹性位移,‌从而提高滚珠丝杆的刚度。‌这种预压机制通过独特的滚珠与珠槽接触模式实现,‌旨在增加系统的刚性…

物联网服务器搭建及部署详细说明:掌握 Node.js、MongoDB、Socket.IO 和 JWT 的实用指南

关键知识点目录 1. 环境准备 1.1 硬件要求 1.2 软件要求 2. 搭建步骤 3. 数据处理与存储 3.1 数据存储 3.2 数据实时处理 3.2.1 安装 Socket.IO 3.2.2 修改服务器代码 4. 安全性 4.1 身份验证与授权 4.2 加密通信 4.2.1 生成自签名证书(开发环境&#…

html必知必会-html内嵌JavaScript和文件路径

文章目录 HTML JavaScriptHTML <script> 标签JavaScript 的简单示例HTML <noscript> 标签HTML 文件路径绝对文件路径相对文件路径总结 HTML JavaScript JavaScript 使 HTML 页面更具动态性和交互性。 示例 <!DOCTYPE html> <html> <body><…

iOS18使用技巧:iPhone通话录音开启教程和注意事项

今日早些时候&#xff0c;苹果为iPhone 15 Pro系列的开发者预览版用户推送了iOS 18.1 Beta1测试版的更新&#xff0c;已经注册Apple Beta版软件计划的用户只需打开设置--通用--软件更新即可在线OTA升级至最新的iOS 18.1 Beta1测试版。 说起iOS 18.1最重磅的更新&#xff0c;莫过…