Docker之路(6.docker容器数据卷、具名挂载匿名挂载、权限挂载)

news2024/9/25 1:24:45

1. 什么是容器数据卷

如果数据都在容器中,那么容器删除后,数据就会丢失!
所以希望容器的数据能够存到本地
容器之间可以又一个数据共享的技术!
Docker容器中产生的数据,可以同步到本地,这就是卷技术。
就是将我们容器内的目录,挂载到Linux上面。
即就是容器的持久化和同步操作!容器间也是可以数据共享的!

好处:以后只需要在本地修改即可,容器内会自动同步

2. 使用数据卷

我们准备一个 centos 的docker容器,来使用数据卷

2.1 拉取一个 centos 镜像

docker pull centos

2.2 启动镜像并挂载目录

  1. 启动镜像,并进入容器中,在容器中的home目录下创建docker_test文件夹
docker run -it centos /bin/bash

cd /home/
mkdir docker_test
  1. 退出镜像,ctrl+P+Q
  2. 在主机的home目录下创建test文件下
cd /home/
mkdir test
  1. 停止容器
docker stop 容器id
  1. 再次启动镜像并进入容器,并映射挂载目录,让主机的/home/test映射到容器中的/home/docker_test
docker run -it -v /home/test:/home/docker_test centos /bin/bash


# 例如:挂载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

注意的是:主机目录会直接覆盖掉容器中要挂载的目录

  1. 退出镜像,ctrl+P+Q,查看是否映射上去
docker inspect 容器id



"Mounts": [                                           # 挂载
    {
        "Type": "bind",
        "Source": "/home/test",                       # 主机内的地址
        "Destination": "/home/docker_test",           # docker容器内的地址
        "Mode": "",
        "RW": true,
        "Propagation": "rprivate"
    }
],

在这里插入图片描述

2.3 测试挂载的目录是否是同步的

  1. 我们在主机的/home/test文件夹下创建一个a.py
cd /home/test
touch a.py

在这里插入图片描述

  1. 然后进入到容器中,查看映射到容器的目录 /home/docker_test 下同步会有一个a.py文件
docker exec -it 容器id /bin/bash

cd /home/docker_test
ls

在这里插入图片描述

注意:如果该容器是不是运行中,但是已经做过挂载的,也是可以目录也是可以同步的

3. 具名挂载和匿名挂载

-v 容器内路径                # 匿名挂载
-v 卷名:容器内路径            # 具名挂载
-v /宿主机路径:容器内路径      # 指定路径挂载 

4. 挂载时,指定读写权限

-v 容器内路径:ro/rw  改变读写权限

ro: readonly    # 只读
rw: readwrite   # 可读可写

设置了容器权限,容器对我们挂载出来的内容就有限定了!
只要看到ro,说明这个路径只能通过宿主机改变

docker run -d -P --name nginx01 -v juming-nginx01:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx02:/etc/nginx:rw nginx

4. 多个容器互相数据共享 --volumes-form

  • 例如: 多个mysql实现数据共享
docker run -d p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e 
MYSQL_ROOT_PASSWORD=123456 -- name mysql:5.7

docker run -d p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 -- name mysql:5.7
--volumes-form mysql01 mysql:5.7

容器之间配置信息的传递,容器数据卷的生命周期一直持续到没有容器被使用为止。
但是一旦持久化到了本地之后,这时候,本地的数据是不会删除的

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

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

相关文章

Nacos Ignore the empty nacos configuration and get it based on dataId

1.配置错误 dataId问题 启动日志: 使用properties格式的文件: Ignore the empty nacos configuration and get it based on dataId[xxx-server] & group[DEFAULT_GROUP] Ignore the empty nacos configuration and get it based on dataId[xxx-s…

【Redis中bigkey你了解吗?bigkey的危害?】

一.Redis中bigkey你了解吗?bigkey的危害? 如果面试官问到了这个问题,不必惊慌,接下来我们从什么是bigkey?bigkey划分的类型?bigkey危害之处? 二.什么是bigkey?会有什么影响&#xff…

九头蛇hydra爆破http示例

使用hydra执行http表单暴力破解 通过浏览器自带分析得知: 提交地址:http://10.0.0.115/student_attendance/ajax.php?action=login 提交方式:POST 提交数据:username=a&password=a 服务响应:3 根据以上收集的信息就可以使用hydra进行密码爆破 hydra 10.0.0.115 http…

【第一章:Spring概述、特点、IOC容器、IOC操作bean管理(基于xml方式创建对象,注入属性)】

第一章:Spring概述、特点、IOC容器、IOC操作bean管理(基于xml方式创建对象,注入属性) 1.Spring是什么? ①Spring是一款主流的java EE 轻量级开源框架。 ②广义的Spring:Spring技术栈,Spring不再…

华为OD机试题,用 Java 解【计算最大乘积】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…

【基础算法】哈希表(开放寻址法)

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

聚观早报|饿了么星选停止运营;百度2022财报全年营收1236.75亿元

今日要闻:饿了么星选停止运营;百度2022财报全年营收1236.75亿元;微软收购暴雪获力挺;全国首例!这一代练平台被叫停;现代汽车已开始在美国生产电动汽车 饿了么星选停止运营 2 月 22 日,饿了么旗下…

使用Vite创建VUE项目

使用Vite来创建vue项目 很久没有接触前端的技术了,一下子就冒出来很多技术,有的根本没见过呀,vue变成了3,vue-cli也变得不好用了,说vite很好用,那就创建个项目试试吧。 有一点前提哈,电脑上要…

华为OD机试题,用 Java 解【磁盘容量排序】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…

【100个 Unity实用技能】 | 将Dictionary字典中的数据序列化 到Unity Inspector监视器面板

Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案&#xff…

【vue2每日小知识】实现store中modules模块的封装与自动导入

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:省去我们store仓库中分模块时的需要每次导入index的问题 目录 【前言】在store中如何简…

UART 串口通信实验

目录 一、UART 简介 1、 UART 通信格式 二、I.MX6U UART 简介 1、硬件原理 2、寄存器 UARTx_UCR1(x1~8) UARTx_UCR2​ UARTx_UCR3​ UARTx_USR2​ 其他寄存器 三、代码编写 1、编写bsp_uart.h 2、编写bsp_uart.c 3、main 不管是单片机开发还是嵌入式 Linux 开发&a…

Kubernetes入门教程 --- 使用kubeadm进行集群安装

Kubernetes入门教程 --- 使用kubeadm和二进制安装1. Introduction1.1 架构图1.2 关键字介绍1.3 简述2. 使用Kubeadm Install2.1 申请三个虚拟环境2.2 准备安装环境2.3 配置yum源2.4 安装Docker2.5 时间同步2.6 安装组件2.7 部署集群2.8 Master安装网络插卡3. 查询状态3.1 查询n…

【数据库】一文讲清redis的主从复制

目录 主从复制 一, 主从复制原理 二,主从复制配置 1,一主双从 1、配置三个redis示例 2、配置主从 3、集群测试 2, 主从切换 哨兵模式 一, 什么是哨兵模式 二, 配置哨兵 三,启动哨兵 …

公网远程连接Oracle数据库【内网穿透】

文章目录1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程OracleOracle,是甲骨文公司的一款关系数据库管理系…

阅读笔记8——NMS

一、基本NMS 1. 处理过程 为了保证物体检测的召回率,对于同一个真实物体往往会有多于1个的候选框输出。但是多余的候选框会影响检测精度,因此需要利用NMS过滤掉重叠的候选框,基本的NMS方法利用得分高的边框抑制得分低且重叠程度高的边框。 如…

追梦之旅【数据结构篇】——详解C语言实现链栈

详解C语言实现链栈~😎前言🙌整体实现内容分析💞1.头文件编码实现🙌2.功能文件编码实现🙌3.测试函数功能代码🙌总结撒花💞😎博客昵称:博客小梦 😊最喜欢的座右…

再获最佳推荐,华为高端存储凭什么征服DCIG?

近日,全球著名技术分析机构DCIG发布《DCIG 2023-24高端存储阵列TOP5》报告,华为OceanStor Dorado 18000凭借可靠性、易用性和安全性等诸多优势,在DELL EMC、IBM、HPE、PureStorage等一众国际厂商中脱颖而出,荣获最佳推荐榜首。一直…

Linux——进程概念(进程状态)

目录 进程状态 三态模型 五态模型 七态模型 Example eg1:阻塞态:等待某种资源的过程 eg2:挂起态 Linux内核源代码 Linux进程状态查看 Linux运行状态 R运行状态(running): S睡眠状态(sleeping): D磁盘休眠状…

Android Json 数据解析优化

文章目录基于 Gson 的 Json 数据解析库1. 背景2. 使用2.1 在模块下的 build.gradle 文件中加入远程依赖2.2 常规使用2.3 其它 API2.3 Retrofit 替换 Gson3. Json 数据解析库 UML 类图与时序图3.1 json-parse 类图3.2 json-parse 时序图4. Json 工具类(JsonUtils&…