[docker] Docker的数据卷、数据卷容器,容器互联
一、数据卷(容器与宿主机之间数据共享)
数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于Linux下对目录进行的mount操作。
想要将容器中的数据持久化,可以将宿主机目录挂载到容器中。
一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。
docker run -v 数据卷 #在容器内创建数据卷docker run -v 宿主机目录:数据卷 #将宿主机目录挂载到容器中#注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。#挂载后的目录默认可读可写docker run -id --name tomcat1 -v /opt/:/mnt/ tomcat:9.0


#如果希望挂载后的目录为只读目录,可以在挂载时加:ro参数docker run -v 宿主机目录:数据卷:ro #将宿主机目录挂载到容器中,只可读docker run -id --name tomcat2 -v /opt/:/mnt:ro tomcat:9.0


二、数据卷容器(容器与容器之间数据共享)
有时时候,容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。
#创建数据卷容器co1。创建/data1和/data2两个数据卷。docker run -id --name co1 -v /data1 -v /data2 -itd centos:7docker exec -it co1 bash #进入web2容器#使用--volumes-from 来挂载co1容器中的数据卷到新的容器co2docker run -id --volumes-from co1 --name co2 centos:7docker exec -it co2 bash #进入web3容器


三、容器互联(使用centos镜像)
容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之问建立一条隧道,接收容器可以看到源容器指定的信息。
3.1 实现容器互联
#创建并运行源容器取名c1docker run -itd -P --name c1 centos:7 /bin/bash#创建并运行接收容器取名c2,使用--1ink选项指定连接容器c1以实现容器互联。docker run -itd -P --name c2 --link c1:c2 centos:7 /bin/bash##--link 容器名:连接的别名#进c2容器,ping c1,通过容器名称或者别名都可以通信docker exec -it c2 bash#可以看到c1容器的IP地址#进入c1容器,查看c1的IP地址docker exec -it c1 bashyum install -y net-tools #下载网络工具ifconfig #查看IP和c2中显示的一致

3.2 只通过IP进行通信
#创建容器c3,没有与c1做互联docker run -itd -P --name c3 centos:7 /bin/bashdocker exec -it c3 bash #进入容器c3#通过c1的容器名称和别名,都无法和c1通信ping c1 #提示:ping: c1: Name or service not knownping C1 #提示:ping: C1: Name or service not known#只能通过IP进行通信
总结
| 命令 | 说明 |
| docker run -v 宿主机目录:数据卷 | 将宿主机的目录挂载到容器的目录 |
| docker run -v 数据卷 | 指定创建容器的目录为数据卷,可供其他容器挂载 |
| docker run --volumes-from 数据卷容器 | 挂载数据卷容器(挂载点路径不变 |
| docker run --link 源容器名称:别名 | 容器互联 |
注意:一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。
因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。
相关文章:
[docker] Docker的数据卷、数据卷容器,容器互联
一、数据卷(容器与宿主机之间数据共享) 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容…...
ATF(TF-A)安全通告TF-V11——恶意的SDEI SMC可能导致越界内存读取(CVE-2023-49100)
目录 一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100) 二、透过事务看本质SDEI是干啥的呢? 三、CVE-2023-49100 1、GICv2 systems 2、GICv3 systems 四、漏洞修复 一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100) Title 恶意的SDEI SMC可能导致越界内存读取&am…...
如何查找SpringBoot应用中的请求路径(不使用idea)
背景 昨天有个同事向我咨询某个接口的物理表是哪个,由于公司业务较多、这块业务的确不是我负责的,也没有使用idea不能全局搜索(eclipse搜不到jar内的字符串),也就回复了不清楚。 除了自己写代码输出servlet的路径和类外,发现了一…...
56. 合并区间 - 力扣(LeetCode)
题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 题目示例 输入:intervals [[1,3…...
数据结构篇-03:堆实现优先级队列
本文着重在于讲解用 “堆实现优先级队列” 以及优先级队列的应用,在本文所举的例子中,可能使用优先级队列来解并不是最优解法,但是正如我所说的:本文着重在于讲解“堆实现优先级队列” 堆实现优先级队列 堆的主要应用有两个&…...
linux clickhouse 安装
1、官网下载clickhouse安装包 下载地址, clickhouse分lts和stable版本,lts是长期版本,一般选择安装lts版本。 其中clickhouse-server是clickhouse服务,就是用来访问数据存储数据,clickhouse-client是用来通过命令访问数…...
【游戏客户端开发的进阶路线】
*** 游戏客户端开发的进阶路线 春招的脚步越来越近,我们注意到越来越多的同学们都在积极学习游戏开发,希望能在这个充满活力的行业中大展拳脚。 当我们思考如何成为游戏开发领域的佼佼者时,关键在于如何有效规划学习路径。 🤔 我…...
vue3+naiveUI二次封装的v-model 联动输入框
根据官网说明使用 源码 <template><div class"clw-input pt-3"><n-inputref"input":value"modelValue":type"type":title"title"clearable:disabled"disabled":size"size"placeholder&…...
百度Apollo | 实车自动驾驶:感知、决策、执行的无缝融合
🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…...
DAY31:贪心算法入门455、53、376
理论基础 贪心算法的基本思路是通过局部最优从而达到全局最优,但是有时候局部最优并不一定导致全局最优,这样就需要动态规划的方法。但一部分题目是能通过贪心得到的。贪心的证明一般用到数学归纳法和反证法。在实际的问题中,没有统一的代码…...
LeetCode:376.摆动序列
个人主页:仍有未知等待探索-CSDN博客 专题分栏:算法_仍有未知等待探索的博客-CSDN博客 题目链接:376. 摆动序列 - 力扣(LeetCode) 一、题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称…...
Stable Diffusion插件Recolor实现黑白照片上色
今天跟大家分享一个使用Recolor插件通过SD实现老旧照片轻松变彩色,Recolor翻译过来的含义就是重上色,该模型可以保持图片的构图,它只会负责上色,图片不会发生任何变化。 一:插件下载地址 https://github.com/pkuliyi…...
Android 音频焦点管理
前言 前面写过一篇类似的文章,没写完,今天再详细描述一下。 Android音频焦点申请处理 音频焦点管理的意义 两个或两个以上的 Android 应用可同时向同一输出流播放音频。系统会将所有音频流混合在一起。虽然这是一项出色的技术,但却会给用…...
大模型+自动驾驶
论文:https://arxiv.org/pdf/2401.08045.pdf 大型基础模型的兴起,它们基于广泛的数据集进行训练,正在彻底改变人工智能领域的面貌。例如SAM、DALL-E2和GPT-4这样的模型通过提取复杂的模式,并在不同任务中有效地执行,从…...
openssl3.2 - 测试程序的学习 - test\aesgcmtest.c
文章目录 openssl3.2 - 测试程序的学习 - test\aesgcmtest.c概述笔记能学到的流程性内容END openssl3.2 - 测试程序的学习 - test\aesgcmtest.c 概述 openssl3.2 - 测试程序的学习 aesgcmtest.c 工程搭建时, 发现没有提供 test_get_options(), cleanup_tests(), 需要自己补上…...
C语言——操作符详解2
目录 0.过渡0.1 不创建临时变量,交换两数0.2 求整数转成二进制后1的总数 1.单目表达式2. 逗号表达式3. 下标访问[ ]、函数调用( )3.1 下标访问[ ]3.2 函数调用( ) 4. 结构体成员访问操作符4.1 结构体4.1.1 结构体的申明4.1.2 结构体变量的定义和初始化 4.2 结构体成…...
(免费领源码)java#Springboot#mysql旅游景点订票系统68524-计算机毕业设计项目选题推荐
摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作…...
帝国cms7.5 支付升级优化版文库范文自动生成word/PDF文档付费复制下载带支付系统会员中心整站模板源码sitemap百度推送+安装教程
帝国cms7.5 支付升级优化版文库范文自动生成word/PDF文档付费复制下载带支付系统会员中心整站模板源码sitemap百度推送+安装教程 (购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不…...
【node】关于npm、yarn、npx的区别与使用
文章目录 npm (Node Package Manager):安装依赖运行脚本 npx:执行项目依赖中的命令 yarn:安装依赖eg.使用npx yarn install 的作用 npm (Node Package Manager): 用途: npm 是 Node.js 官方提供的包管理工具,用于安装、管理和分享 JavaScript 代码包。安…...
力扣0099——恢复二叉搜索树
恢复二叉搜索树 难度:中等 题目描述 给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。 示例1 输入: root [1,3,null,null,2] 输出:[3,1,null,nul…...
Qwen3-8B快速体验报告:部署简单,中文理解能力确实强
Qwen3-8B快速体验报告:部署简单,中文理解能力确实强 1. 开箱即用的AI体验 最近在测试各种开源大模型时,我发现了Qwen3-8B这个宝藏模型。作为Qwen系列的最新成员,这个80亿参数的模型在中文理解和推理能力上表现突出,最…...
Step3-VL-10B内网穿透应用:安全远程模型调用方案
Step3-VL-10B内网穿透应用:安全远程模型调用方案 1. 场景需求与痛点分析 很多企业和机构在内部部署了强大的多模态AI模型,比如Step3-VL-10B这样的视觉语言模型,能够处理图像和文本的复杂任务。但这些模型通常运行在内网环境中,外…...
WindowsCleaner:3个步骤解决C盘爆红问题的终极指南
WindowsCleaner:3个步骤解决C盘爆红问题的终极指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否也经历过C盘突然变红、系统卡顿不堪的困扰&a…...
从synchronized到CompletableFuture:Java多线程完全进阶指南
在当今多核处理器普及的计算时代,充分利用硬件资源成为提升程序性能的关键。Java作为企业级应用的主流语言,其内置的多线程支持让并发编程变得触手可及。然而,多线程编程如同一把双刃剑——用得好,能成倍提升系统吞吐量࿱…...
04. Web可访问性最佳实践:让每个用户都能平等访问
04. Web可访问性最佳实践:让每个用户都能平等访问 引言 Web 可访问性是前端开发的重要组成部分,它确保所有用户,包括残障人士,都能平等地访问和使用网站。作为一名把代码当散文写的 UI 匠人,我始终认为:好…...
大数据-253 离线数仓 - Airflow 入门与任务调度实战:DAG、Operator、Executor 部署排错指南
TL;DR 场景:面向离线数仓与定时任务场景,快速理解 Airflow 的核心概念、DAG 编排方式与基础命令。结论:本文内容适合作为 Airflow 入门示例,但代码与命令明显偏旧,需区分 Airflow 1.x 与 2.x 版本差异。产出ÿ…...
革命性本地AI聊天应用ChatRTX:基于TensorRT-LLM和RAG的完整指南
革命性本地AI聊天应用ChatRTX:基于TensorRT-LLM和RAG的完整指南 【免费下载链接】trt-llm-rag-windows 项目地址: https://gitcode.com/gh_mirrors/tr/trt-llm-rag-windows ChatRTX是一款革命性的本地AI聊天应用程序,它基于NVIDIA的TensorRT-LLM…...
破解Agent“半途摆烂”困局,OpenDev凭Harness架构,撕开Code Agents的工程化真相
玩过AI Agent的人,几乎都有过这样的崩溃时刻:前几轮交互里,它思路清晰、反应迅速,像个无所不能的天才,你说修改一段代码,它能精准命中漏洞;你让它梳理项目结构,它能条理分明地给出方…...
LangChain工具绑定避坑指南:为什么你的bind_tools不工作?
LangChain工具绑定深度解析:从原理到实战的避坑指南 当你第一次尝试在LangChain中绑定自定义工具时,可能会遇到各种令人困惑的问题——工具明明定义了却无法调用,参数传递总是出错,或者LLM完全无视你的工具指令。这些问题往往不是…...
B端企业拓客:如何在精准度与成本之间找到真正平衡?氪迹科技法人股东号码核验系统,阶梯式价格
在B端市场存量竞争愈发激烈的当下,“拓客精准度”与“获客成本”的平衡,成为所有B端企业都要面对的核心课题。对绝大多数深耕B端业务的企业而言,拓客之路始终被两大难题困扰:一方面,线索质量参差不齐,空号、…...
