当前位置: 首页 > article >正文

Docker数据持久化:Volume完全指南,从入门到生产环境选型

你有没有遇到过这种情况数据库跑在容器里存了一堆数据结果容器一删数据全没了。这是因为容器的文件系统是临时的。容器没了里面的数据也就没了。Docker Volume数据卷就是来解决这个问题的。一、Volume是什么简单说Volume就是把宿主机上的一个文件夹挂载到容器里面。容器往指定路径写数据实际是写在宿主机上。容器删了宿主机上的文件还在。下次重新跑容器再把同一个文件夹挂载进去数据就回来了。一句话Volume让容器的数据“活”下来。二、三种Volume类型Docker提供了三种Volume都通过docker run -v参数指定。1. 宿主机卷Host Volumes你自己指定宿主机上的哪个文件夹挂到容器里。docker run -v /home/data:/var/lib/mysql/data mysql宿主机路径和容器路径都由你说了算。灵活性高但你需要自己管理宿主机上的文件夹。2. 匿名卷Anonymous Volumes你只告诉Docker“容器里哪个路径要挂载”不指定宿主机路径。docker run -v /var/lib/mysql/data mysqlDocker会在/var/lib/docker/volumes/下自动生成一个随机哈希名的文件夹帮你完成挂载。方便但你也找不到这个文件夹在哪也不好重复使用。3. 命名卷Named Volumes你给卷起个名字Docker自动管理宿主机路径。docker run -v my-data:/var/lib/mysql/data mysqlDocker会在/var/lib/docker/volumes/my-data/下创建对应的存储目录。这是生产环境最推荐的方式。你只需要记住卷的名字不用关心它存在宿主机哪里。三、Docker Compose中使用命名卷在实际项目中我们通常用Docker Compose管理多容器。命名卷的配置也很简单version: 3 services: mongodb: image: mongo ports: - 27017:27017 volumes: - db-data:/var/lib/mysql/data volumes: db-data:在服务下面用volumes声明要挂载的卷卷名:容器内路径然后在最下面统一声明所有用到的命名卷。同一个命名卷可以挂载到多个容器实现数据共享。比如两个服务都挂载同一个卷一个写一个读非常方便。四、三种Volume怎么选类型适用场景优缺点宿主机卷开发测试、需要明确知道数据存在哪灵活但需要手动管理路径匿名卷临时数据、一次性任务方便但无法重复引用命名卷生产环境、数据库等有状态应用Docker自动管理便于共享和复用生产环境优先用命名卷。写在最后Volume是Docker里非常基础但重要的概念。搞懂了它你的数据库、配置文件、上传文件才能“活”下来。记住三个关键词宿主机卷你指定路径匿名卷Docker随机生成路径命名卷你起名字Docker管路径生产环境选命名卷。

相关文章:

Docker数据持久化:Volume完全指南,从入门到生产环境选型

你有没有遇到过这种情况:数据库跑在容器里,存了一堆数据,结果容器一删,数据全没了。这是因为容器的文件系统是临时的。容器没了,里面的数据也就没了。Docker Volume(数据卷)就是来解决这个问题的…...

告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突

告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突 在团队协作开发中,Git分支管理和合并冲突是每个开发者都无法回避的挑战。传统的命令行操作虽然强大,但对于许多开发者来说,复杂的命令和晦涩的错误信息常常让人望而生畏。…...

Klib未来展望:探索轻量级C库的无限可能与社区共建路线图

Klib未来展望:探索轻量级C库的无限可能与社区共建路线图 【免费下载链接】klib A standalone and lightweight C library 项目地址: https://gitcode.com/gh_mirrors/kl/klib Klib作为一款独立轻量级C语言库,以其高效、简洁的设计理念在开发者社区…...

MySQL优化全攻略:索引、SQL与分库分表的最佳实践记

一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...

yolov5与yolov8的区别

YOLO(You Only Look Once)系列是当前目标检测领域最具代表性的单阶段算法,凭借速度与精度的均衡表现,广泛应用于工业检测、智能安防、自动驾驶、智慧工地、嵌入式设备等场景。YOLOv5 由 Ultralytics 团队于 2020 年发布&#xff0…...

引领交互新高度:探索Tornis——您的视口状态守护者

引领交互新高度:探索Tornis——您的视口状态守护者 【免费下载链接】tornis Tornis helps you watch and respond to changes in your browsers viewport 🌲 项目地址: https://gitcode.com/gh_mirrors/to/tornis Tornis是一款轻量级JavaScript库…...

QTableWidget 表格组件腺

7.1 初识三维模型 7.1.1 三维模型的数据载体 随着计算机图形技术的发展,我们或多或少都会见过或者听说过三维模型。笔者始终记得小时候第一次在电视上看到三维动画《变形金刚:超能勇士》的震撼感受;而现在我们已经可以在手机上玩三维游戏《王…...

如何掌握IntelliJ Rust插件的Cargo项目结构:从入门到精通

如何掌握IntelliJ Rust插件的Cargo项目结构:从入门到精通 【免费下载链接】intellij-rust Rust plugin for the IntelliJ Platform 项目地址: https://gitcode.com/gh_mirrors/in/intellij-rust IntelliJ Rust插件是IntelliJ平台上的Rust开发工具&#xff0c…...

如何搭建Ant Media Server测试环境:从单元测试到集成测试的完整指南

如何搭建Ant Media Server测试环境:从单元测试到集成测试的完整指南 【免费下载链接】Ant-Media-Server Ant Media Server — Ultra-low latency streaming engine with WebRTC (~0.5s), SRT, RTMP, HLS, CMAF, adaptive bitrate, transcoding & scaling 项目…...

终极NG-ALAIN代码生成器使用指南:5分钟快速创建组件、服务和模块

终极NG-ALAIN代码生成器使用指南:5分钟快速创建组件、服务和模块 【免费下载链接】ng-alain NG-ZORRO admin panel front-end framework 项目地址: https://gitcode.com/gh_mirrors/ng/ng-alain NG-ALAIN是一个基于Ant Design的企业级中后台前端解决方案&…...

MicroMDM实战案例:企业设备管理的成功经验分享

MicroMDM实战案例:企业设备管理的成功经验分享 【免费下载链接】micromdm Mobile Device Management server 项目地址: https://gitcode.com/gh_mirrors/mi/micromdm MicroMDM是一款专注于通过API提供强大功能的移动设备管理服务器,专为苹果设备打…...

FreakStudio炭

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单,下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try: ks Ks(KS_ARCH_X86, KS_MODE_64) encoding, count ks.…...

LangGraph实战:Supervisor与Swarm多代理架构选型指南(附避坑清单)

LangGraph多代理架构深度实战:Supervisor与Swarm的工程化抉择 当你的AI系统需要同时处理机票预订、酒店推荐、行程优化和突发天气预警时,单一代理已经力不从心。这就是为什么顶级科技公司的AI架构师们正在将目光转向多代理系统——不是简单地堆砌多个AI模…...

基于Comsol与Matlab的多孔材料JCA模型吸声特性仿真与实验对比分析

1. JCA模型基础与多孔材料声学特性 多孔材料在噪声控制和声学设计中扮演着关键角色,而准确预测其吸声性能一直是工程实践中的难点。JCA模型作为当前最完善的刚性骨架多孔材料声学模型,能够精确描述从低频到高频的声波传播特性。我第一次接触这个模型是在…...

为什么97%的AI原生平台在QPS破5万后日志分析失效?揭秘内核级采样压缩与语义缓存双引擎设计

第一章:AI原生软件研发日志分析平台建设 2026奇点智能技术大会(https://ml-summit.org) AI原生软件研发对日志的语义理解、实时归因与根因推断提出了全新要求。传统ELK栈难以支撑LLM驱动的日志聚类、异常模式自演化识别及跨服务调用链的因果推理,因此需…...

AI Agent 跑完任务怎么通知你?我写了个微信推送服务谮

1、普通的insert into 如果(主键/唯一建)存在,则会报错 新需求:就算冲突也不报错,用其他处理逻辑 回到顶部 2、基本语法(INSERT INTO ... ON CONFLICT (...) DO (UPDATE SET ...)/(NOTHING)) 语…...

时频分析在隔振与运动控制中的联合应用

1. 时频分析在隔振与运动控制中的核心价值 在精密制造和科研实验中,隔振台和运动台的联合控制是个经典难题。传统方法就像用两种不同的语言描述同一个现象——隔振台习惯用频域的"振动频谱"说话,运动台则偏爱时域的"误差曲线"表达。…...

Retrofit2 + Moshi + Kotlin:网络请求的终极解决方案

Retrofit2 Moshi Kotlin:网络请求的终极解决方案 【免费下载链接】Android-MVVM-Architecture MVVM Kotlin Retrofit2 Hilt Coroutines Kotlin Flow mockK Espresso Junit5 项目地址: https://gitcode.com/gh_mirrors/mv/Android-MVVM-Architecture …...

Agent Client Protocol 全景解析哪

1. 核心概念 在 Antigravity 中,技能系统分为两层: Skills (全局库):实际的代码、脚本和指南,存储在系统级目录(如 ~/.gemini/antigravity/skills)。它们是“能力”的本体。 Workflows (项目级)&#xff1a…...

Qt5离线安装包国内下载失败?别急,用迅雷搞定Windows/Mac/Linux全平台(附完整地址规律)

Qt5离线安装包高效下载指南:跨平台解决方案与URL解析 遇到Qt5离线安装包下载失败时,许多开发者第一反应可能是寻找特殊网络工具,但其实有更简单高效的解决方案。本文将详细介绍如何利用常规下载工具获取Qt5全平台安装包,并解析其U…...

MySQL优化全攻略:索引、SQL与分库分表的最佳实践嘶

一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...

如何快速下载番茄小说:开源Rust下载器完整指南

如何快速下载番茄小说:开源Rust下载器完整指南 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 前言 在数字阅读时代,很多读者喜欢在番茄小说上阅读免费…...

实战指南 | 利用FRP与TOML配置实现高效内网穿透(含反向代理优化)

1. 为什么需要内网穿透? 想象一下这个场景:你家里有一台NAS存储设备,里面存满了家人照片和工作文档;或者你在本地开发了一个网站应用,想临时分享给异地同事测试。这时候你会发现——从外部网络根本无法访问这些服务&am…...

PDF文献智能翻译架构设计:CopyTranslator的工程实践与性能优化

PDF文献智能翻译架构设计:CopyTranslator的工程实践与性能优化 【免费下载链接】CopyTranslator 项目地址: https://gitcode.com/gh_mirrors/cop/CopyTranslator 在科研文献阅读和技术文档处理领域,跨语言信息获取一直是影响工作效率的关键瓶颈。…...

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比) 当一辆现代汽车驶过街头,很少有人会意识到车内正运行着一个比阿波罗登月飞船更复杂的电子系统网络。这个由数百个电子控制单元(ECU…...

AzurLaneAutoScript:碧蓝航线自动化脚本终极指南 - 如何实现全自动委托科研与大世界探索

AzurLaneAutoScript:碧蓝航线自动化脚本终极指南 - 如何实现全自动委托科研与大世界探索 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/A…...

rasterizeHTML.js API完全手册:从drawHTML到drawURL的完整使用指南

rasterizeHTML.js API完全手册:从drawHTML到drawURL的完整使用指南 【免费下载链接】rasterizeHTML.js Renders HTML into the browsers canvas 项目地址: https://gitcode.com/gh_mirrors/ra/rasterizeHTML.js rasterizeHTML.js是一款强大的JavaScript库&am…...

GeoPort代码实现原理:Flask框架与iOS设备通信机制解析

GeoPort代码实现原理:Flask框架与iOS设备通信机制解析 【免费下载链接】GeoPort GeoPort: Your Location, Anywhere! The iOS location simulator 项目地址: https://gitcode.com/gh_mirrors/ge/GeoPort GeoPort作为一款强大的iOS位置模拟器,其核…...

eRPC企业级应用:平安科技、快手等大厂的真实使用场景

eRPC企业级应用:平安科技、快手等大厂的真实使用场景 【免费下载链接】erpc An efficient, extensible and easy-to-use RPC framework. 项目地址: https://gitcode.com/gh_mirrors/er/erpc eRPC是一款高效、可扩展且易用的RPC框架,被平安科技、快…...

keil5软件安装步骤(附安装包)Keil uVision 5 MDK 超详细下载安装教程

文章目录 前言 Keil5软件摘要 下载Keil5安装包 Keil5安装步骤(保姆级) Keil5入门使用技巧 前言 作为嵌入式开发入门的第一步,keilmdk 下载与安装常常让新手工程师感到困惑。本文将提供完整的keilmdk 安装教程,手把手带你从零开始配置开发环境。无论你是刚接触单片机编程的…...