Docker中容器数据卷

容器数据卷

  • 一.什么是容器数据卷
  • 二.使用数据卷
    • 方式一:直接使用命令来挂载 -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.mzph.cn/news/19257.shtml

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

相关文章

oracle 19c打补丁遭遇OPATCHAUTO-72043OPATCHAUTO-68061

最近,在AIX上的新装oracle 19C数据库基础版本,使用opatchauto打PSU补丁集35037840时遇到了OPATCHAUTO-72043报错,无法正常应用GI补丁。 一、环境描述 操作系统:AIX 数据库版本:oracle rac 19.3.0新装基础版 应用PS…

2023拒绝内卷!两年转行网络安全真实看法!

我目前转行网络安全两年,没啥天分,全靠努力,基本能够得上中级的水平了。看到大家对转行网络安全挺感兴趣,也有挺多争议,想把我的建议和经验告诉大家。 有很多人觉得网络安全已经饱和了,现在选择这个工作&a…

Spring Boot : ORM 框架 JPA 与连接池 Hikari

数据库方面我们选用 Mysql , Spring Boot 提供了直接使用 JDBC 的方式连接数据库,毕竟使用 JDBC 并不是很方便,需要我们自己写更多的代码才能使用,一般而言在 Spring Boot 中我们常用的 ORM 框架有 JPA 和 Mybaties ,本…

面试之多线程案例(四)

1.单例模式 单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。…

[React]生命周期

前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1、getDefaultProps() 设置默认的props,也可以用duf…

【数据结构】实现单链表的增删查

目录 1.定义接口2.无头单链表实现接口2.1 头插addFirst2.2 尾插add2.3 删除元素remove2.4 修改元素set2.5 获取元素get 3.带头单链表实现接口3.1 头插addFirst3.2 尾插add3.3 删除元素remove3.4 判断是否包含元素element 1.定义接口 public interface SeqList<E>{//默认…

关于拓扑排序

又重新学了一下拓扑排序&#xff0c;这次发现就十分简单了&#xff0c;拓扑排序的步骤 1.他必须是一个有向无环图&#xff0c;起点我们就是入度为0的点 2.我们首先要输出的就是入度为0的点&#xff0c;然后依次删除这些点连向的点&#xff0c;使这些点的入度-1&#xff0c;如果…

Java集合数组相互转换

1.集合转换成数组 &#xff08;1&#xff09;集合a通过toArray()方法进行转换为数组&#xff0c;可以转换成为指定类型的数组&#xff0c;但是这些类型都必须是object类型的子类&#xff0c;基本类型不可以。 必要时我们使用强制类型转换&#xff0c;转成我们需要的类型。 Li…

葡萄叶病害数据集

1.数据集 分成训练集和测试集 训练集有四个文件夹 第一个文件夹为 Grape Black Measles&#xff08;葡萄黑麻疹&#xff09;病害&#xff08;3783张&#xff09; Grape Black rot葡萄黑腐病病害数据集&#xff08;3596张&#xff09; Grape Healthy 健康葡萄叶&#xff08;25…

Maven项目解决cannot resolve plugin maven-deploy-plugin:2.7

导入maven项目后&#xff0c;编辑的时候提示一些插件加载失败&#xff01;大概率是你的网络有问题&#xff0c;插件下载失败。 如下图&#xff1a;&#xff08;网络突然好了&#xff0c;我想截图但是没有复现&#xff0c;用网上找到的截图代替&#xff0c;明白意思就行&#x…

Anaconda创建虚拟环境

参考文章 1 Win10RTX3060配置CUDA等深度学习环境 pytorch 管网&#xff1a;PyTorch 一 进入 Anaconda 二 创建虚拟环境 conda create -n pytorch python3.9注意要注意断 VPN切换镜像&#xff1a; 移除原来的镜像 # 查看当前配置 conda config --show channels conda config…

4-百度地图

4-百度地图 一 百度地图 1 前期准备 H5端和PC端,对接百度提供JavaScript API。 移动端,对接百度android SDK或ios SDK (1)打开百度地图开放平台 地址:https://lbsyun.baidu.com/ (2)选中开发文档——JavaScript Api 按照文档步骤开通百度开放平台并申请密钥 2 展示地…

Java多线程(四)

目录 一、线程的状态 1.1 观察线程的所有状态 1.2 线程状态和状态转移的意义 1.2.1 NEW、RUNNABLE、TERMINATED状态转换 1.2.2 WAITING、BLOCKED、TIMED_WAITING状态转换 1.2.3 yield()大公无私让出cpu 一、线程的状态 1.1 观察线程的所有状态 public class Demo9 {public st…

在linux中进行arm交叉编译体验tiny6410裸机程序开发流程

在某鱼上找了一个友善之臂的Tiny6410开发板用来体验一下嵌入式开发。这次先体验一下裸机程序的开发流程&#xff0c;由于这个开发板比较老旧了&#xff0c;官方文档有很多过期的内容&#xff0c;所以记录一下整个过程。 1. 交叉编译器安装 按照光盘A中的文档《04- Tiny6410 L…

快速开发框架若依的基础使用详解

Hi I’m Shendi 快速开发框架若依的基础使用详解 最近在为公司制作新的项目&#xff0c;经过了一段时间的技术沉淀&#xff0c;我开始尝试接触市面上用的比较多的快速开发框架&#xff0c;听的最多的当属若依吧 于是就选用了若依 介绍 为什么选&#xff1f;目的是为了提高开发…

Linux下.py文件只读问题以及解决过程

一、问题描述 如图&#xff0c;在Ubuntu Linux系统中使用pycharm管理项目文件时&#xff0c;无法编辑&#xff0c;提示文件为只读&#xff1a; 点击"OK"后仍旧无法清除只读模式&#xff0c;并报错&#xff1a; 二、问题解决 将问题定性为文件权限相关问题&#…

使用Three.js创建旋转的立方体

使用Three.js创建旋转的立方体 在本篇技术博客中&#xff0c;我们将介绍如何使用Three.js创建一个简单的场景&#xff0c;其中包含一个旋转的立方体。我们将学习如何设置场景、摄像机、立方体和渲染器&#xff0c;以及如何使用OrbitControls和gsap库来实现立方体的旋转动画和交…

VBA技术资料MF38:VBA_在Excel中隐藏公式

【分享成果&#xff0c;随喜正能量】佛祖也无能为力的四件事&#xff1a;第一&#xff0c;因果不可改&#xff0c;自因自果&#xff0c;别人是代替不了的&#xff1b;第二&#xff0c;智慧不可赐&#xff0c;任何人要开智慧&#xff0c;离不开自身的磨练&#xff1b;第三&#…

svn工具使用

svn 介绍 解决之道&#xff1a; SCM&#xff1a;软件配置管理 所谓的软件配置管理实际就是对软件源代码进行控制与管理 CVS&#xff1a;元老级产品 VSS&#xff1a;入门级产品 ClearCase&#xff1a;IBM 公司提供技术支持 SVN&#xff1a;主流产品 什么是SVN&#xff…

Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像(图生图,img2img)为例

Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像&#xff08;图生图&#xff0c;img2img&#xff09;为例 学习前言源码下载地址网络构建一、什么是Stable Diffusion&#xff08;SD&#xff09;二、Stable Diffusion的组成三、img2img生成流程1、输入图片编…