【Docker】数据持久化 挂载

Docker的镜像是只读的,但是容器是可写的,我们可以将数据写入到容器,不过一旦容器删除数据将会丢 失,那么有什么办法能将数据进行持久化存储呢?

——在宿主机上开辟一块地方,存储内容和docker容器的存储内容一样

一、Data Volume

Data Volume本质上是Docker主机文件系统中的目录或文件,能够直接被挂载到容器的文件系统中,容器可以读写Volume中的数据,Volume数据可以被永久的保存,即使容器已经被销毁停止运行。

二、三种挂载方式

【具名挂载】和【匿名挂载】这两种方式不常用,这两种方式Docker会自动在主机的/var/lib/docker/volumes下生成一个目录

如果把容器删除了,需要重新从宿主机拿到容器,直接再次执行挂载命令即可

1、指定路径挂载——宿主机和容器中路径均给出

docker run -p 33306:3306 -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
解释:

容器启动时通过 -v 参数将 docker 主机上的/my/own/datadir目录挂载到容器里/var/lib/mysql目录

宿主机的文件夹(/my/own/datadir) 和 容器中的文件夹(/var/lib/mysql)产生映射

参数:
  • -v:--Volume,数据持久化

    这里不用自己新建文件夹/my/own/datadir  /var/lib/mysql,没有的话会自动创建的

  • -v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
  • -e 后面跟的环境变量,每个不同的镜像可能不一样,可以去官网查询
    • 这里后面跟的是密码

结果查看:宿主机挂载的文件内容和容器内部的内容一样

1、进入容器内部,bin/bash没有,使用bin/sh

挂载目标路径可以放两(多)个位置——使用两(多)个-v 参数
 docker run -t -i -v /var/run/docker.sock:/var/run/docker.sock -v /path/to/static-docker-binary:/usr/bin/docker busybox sh

2、具名挂载——宿主机路径中 只给出名字,不在前面加/

docker run -p 33306:3306 -v chenyang_mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
挂载结果:

docker/volumes文件夹下产生一个chenyang_mysql文件夹

3、匿名挂载

只给出容器里的路径,不给出宿主机的路径
docker run -p 33306:3306 -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
挂载结果

实际挂载到了宿主机的/var/lib/docker/volumes路径下——位于某个volume中,根据时间可以区分

4、结果查看

  • 查看所有匿名volume

                 docker volume ls

  • 查看数据卷信息

                 docker volume inspect chenyang_mysql

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

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

相关文章

低代码平台:业务开发“加速器”

一、现状 低代码开发平台要让每个人,包括开发者和普通业务人员,都能够成为企业数字化过程中的主导者和构建者!让普通人更容易上手! 基于这一目标,应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

AJAX的原理(重点)

◆ XMLHttpRequest 什么是XMLHttpRequest? 定义: 关系:axios 内部采用 XMLHttpRequest 与服务器交互 注意:直白点说就是axios内部就是封装了XMLHttpRequest这个对象来实现发送异步请求的 使用 XMLHttpRequest 步骤&#xff1a…

C# 实现 gRPC 服务和调用

写在前面 gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架。 主要优点如下: 1.高性能轻量化。 2.协议优先的 API 定义模式,默认使用协议缓冲区,允许与语言无关的实现。 3.可用于多种语言的工具,以生成强类型服务器和客户…

项目解决方案:市小区高清视频监控平台联网整合设计方案(上)

目 录 一、项目需求 1.1业务需求 1.2技术需求 1.3 环境要求 1.3.1 硬件要求 1.3.2 技术服务要求 二、系统设计方案 2.1 视频监控平台基础功能设计 2.2 视频资源及联网设备编码与管理设计 2.2.1 全省现有联网视频资源属性 2.2.2 视频资源编码具体格…

Spring IoC容器(一)

IoC,Inversion of Control 控制反转,是一个过程。仅通过构造函数、工厂方法或在对象实例化后在对象实例上设置属性来定义其依赖关系。容器负责这些工作,这个过程从本质上来说是bean本身的反向,因此称为反向控制。 1 容器 负责实例化、配置及…

C语言入门(二)、每日Linux(三)——gcc命令,通过gcc命令熟悉C语言程序实现的过程

使用gcc编译C语言程序 C语言程序实现的过程gcc命令基础用法常用选项编译和汇编选项:优化选项:调试选项:链接选项:警告选项: 实验对于-o选项 通过gcc命令熟悉C语言程序的执行过程1.预处理2.编译阶段3.汇编阶段4.链接阶段…

Java 面试题之 IO(二)

字符流 文章目录 字符流Reader(字符输入流)Writer(字符输出流) 文章来自Java Guide 用于学习如有侵权,立即删除 不管是文件读写还是网络发送接收,信息的最小存储单元都是字节。 那为什么 I/O 流操作要分为字…

Java 与 JavaScript的区别

Java 与 JavaScript的区别 Java 与 JavaScript:概述Java的特点JavaScript 的起源JavaScript 的特点Java 与 JavaScript,哪个更好?JavaScript 与 Java 相似吗?Java 与 JavaScript 的区别JavaScript 在服务器端的运行方式是怎样的&a…

网络防御安全知识(第二版)

安全策略 传统的包过滤防火墙 --- 其本质为ACL列表,根据数据报中的特征进行过滤,之后对比规制, 执行动作。 五元组 --- 源IP, 目标IP,源端口, 目标端口,协议 安全策略 --- 相较于ACL的改进之…

Linux/Delivery

Enumeration nmap 首先扫描目标端口对外开放情况,第一轮扫描发现对外开放了22,80,8065三个端口,端口详细信息如下 nmap -sC -sV -p 22,80,8065 10.10.10.222 nmap显示22端口运行着ssh服务,80端口运行着http服务,8065端口运行的…

基于go mod模式创建项目最佳实践

希望能带给你成功的喜悦! 除go get、vendor这两种方式外,Go版本在1.11之后推出了go module模式来管理依赖,使用go mod时下载的依赖文件在$GOPATH/pkg/mod/下。本文以两种办法介绍如何创建go mod项目。 目录 goland开启玩法 本地手动创建项目…

【Linux】Linux下多线程

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置&#xff1a;进程地址空间和页表1.1 如何看待进程地址空间和页表1.2 虚拟地址…

MIAOYUN获评OpenCloudOS社区2023年度优秀贡献企业

近日&#xff0c;OpenCloudOS社区发布了社区年度贡献企业榜单&#xff0c;成都元来云志科技有限公司&#xff08;简称“MIAOYUN”&#xff09;凭借对国产开源的热情&#xff0c;及对操作系统产业的支持&#xff0c;通过兼容适配互认证&#xff0c;为推动OpenCloudOS规模化应用&…

使用IP爬虫代理提取数据的步骤是什么?爬虫代理IP怎么提高采集效率?

​​​​​ 一、使用IP爬虫代理提取数据的步骤 在使用爬虫代理IP提取数据之前&#xff0c;需要先了解数据来源和目标网站的结构。以下是一个基本的步骤&#xff1a;1.确定数据来源 首先需要确定要提取数据的网站或数据源&#xff0c;了解网站的结构、数据存储方式以及数据更新…

Qt应用软件【协议篇】Modbus详细介绍

文章目录 概述Modbus 485协议概述在工业自动化中的应用 通信模式数据模型功能码 Modbus RTU示例 1&#xff1a;读取保持寄存器示例 2&#xff1a;写入单个线圈示例 3&#xff1a;写入多个保持寄存器报文传输 Modbus ASCII报文示例报文传输 Modbus TCP报文示例报文传输 概述 在…

如何将iPad连接到USB设备?这里提供了详细步骤

本文介绍了如何将iPad连接到USB设备。说明适用于所有版本的iPad。 将USB设备与带USB-C端口的iPad一起使用 以下iPad具有USB-C端口: 自2018年第三代以来的iPad Pro机型 自2020年第四代以来的iPad Air机型 自2021年第六代以来的iPad迷你机型 自2022年以来的第十代iPad机型 这些…

动手学深度学习(一)深度学习介绍2

目录 二、起源 三、深度学习的成功案例&#xff1a; 四、特点&#xff1a; 五、小结&#xff1a; 二、起源 为了解决各种各样的机器学习问题&#xff0c;深度学习提供了强大的工具。 虽然许多深度学习方法都是最近才有重大突破&#xff0c;但使用数据和神经网络编程的核心思…

Redis学习——高级篇①

Redis学习——高级篇① Redis7高级之单线程和多线程&#xff08;一&#xff09; 一、Redis单线程VS多线程1.Redis的单线程部分1.1 Redis为什么是单线程&#xff1f;1.2 Redis所谓的“单线程”1.3 Redis演进变化1.3.1 Redis 3.x 单线程时代性能很快的原因1.3.2…

【Linux网络编程】网络编程套接字(1)

【Linux网络编程】网络编程套接字(1) 目录 【Linux网络编程】网络编程套接字(1)源IP地址和目的IP地址端口号端口号和进程ID的关系 网络通信TCP协议UDP协议网络字节序socket编程接口简单的UDP网络程序 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2024.1.29 前言&#xff1…

树--二叉树(C语言纯手凹)

目录 目录 1.什么是树&#xff1f;&#xff08;不深入&#xff0c;仅做了解&#xff09; 2.树的表示方式 2.1孩子兄弟表示法&#xff08;左孩子右兄弟&#xff09; 2.2孩子表示法 2.3双亲表示法 3.什么是二叉树 4.二叉树分类 4.1满二叉树 4.2完全二叉树 4.3二叉搜索树…