Docker(五)、容器间数据共享~volume

news/2024/11/23 17:17:26/

容器间数据共享~volume

  • 一、简单了解
  • 二、有两种通过命令设置数据卷的方法
    • 一)、方式1. 通过 -v 挂载宿主机目录
      • 1、格式
      • 2、浅实践下
    • 二)、方式2.实现形式:通过共享容器内挂载点`--volumes-from`,其他容器指定此挂载点
      • 1、格式
      • 2、浅实践下
        • 1)、创建共享挂载点容器
        • 2)、启动新容器并指定挂载点webapps
        • 3)、验证

一、简单了解

容器间数据共享简图:
在这里插入图片描述

容器间数据共享,核心原理就是在宿主机开辟一块空间,被其他容器共享,实现容器间文件内容的共享,只需少量的改动,其他容器都会生效。

数据卷,即保存数据的单位

volume数据卷的设置有两种方式,下面会进一步表述。

二、有两种通过命令设置数据卷的方法

一)、方式1. 通过 -v 挂载宿主机目录

1、格式

通过 -v 挂载宿主机目录,格式:docker run --name 容器名 -v 宿主机路径:容器内挂载路径 镜像名

eg:docker run --name r1 -v /usr/webapps:/usr/local/tomcat/webapps tomcat:8.5.46-jdk8-openjdk

ps:路径不能写错,区分大小写。缺点:有写错的风险

2、浅实践下

-v 挂载宿主机目录, 在宿主机目录/usr/webapps 新建文件夹v-test1 ,在文件夹里新建index.html ,随便写点什么。

  • step1: 把文件上传到宿主机服务器: /usr/webapps

  • step2:设置新的tomcat容器完成数据卷的挂载:
    docker run --name t1 -p 8000:8080 -d -v /usr/webapps:/usr/local/tomcat/webapps tomcat

  • step3: 验证:在浏览器输入
    宿主机ip:8000/v-test1/index.html

二)、方式2.实现形式:通过共享容器内挂载点--volumes-from,其他容器指定此挂载点

1、格式

为方式一的改善:通过--volumes-from 共享容器内挂载点

  • 1)、创建共享容器格式:docker create --name gzpoint1 -v /usr/webapps:/usr/local/tomcat/webapps tomcat /bin/true

create :代表只创建不运行
/bin/true相当于一个占位符

  • 2)、启动容器并指定挂载点:docker run --name r1 -p 8001:8080 --volumes-from gzpoint1 -d tomcat

2、浅实践下

1)、创建共享挂载点容器

docker create -v:/usr/webapps:/usr/local/tomcat/webapps --name webapps tomcat /bin/true

2)、启动新容器并指定挂载点webapps

docker run --name r2 -p 8008:8080 -d tomcat
在宿主机目录/usr/webapps 新建文件夹v-test1 ,在文件夹里新建index.html ,随便写点什么

3)、验证
  • 访问:宿主机ip:8008/v-test1/index.html
  • 进入容器r2里面,在webapps路径可看到内容和宿主机/usr/webapps里的内容一致

http://www.ppmy.cn/news/1166542.html

相关文章

java泛型场景补充

前言 本文不是对泛型的系统介绍,也不打算对其进行入门讲解,只是对遇到的一些泛型场景的补充。看过宋红康和韩顺平的javase课程可以花几分钟看看。 1.&符号在泛型中的使用,用来描述有边界的受约束泛型 class A{} interface B{} public …

大数据学习(16)-mapreduce详解

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦&#x1f91…

059:mapboxGL监听键盘事件,通过eastTo控制左右旋转

第059个 点击查看专栏目录 本示例是介绍演示如何在vue+mapbox中监听键盘事件,通过eastTo控制左右旋转。 本例通过easeTo方法来加减一定数值的bearing角度,通过.addEventListener的方法来监听键盘的按键动作。这里一定要设置interactive: false, 否则展现不出来旋转效果。 直…

iOS 13以下系统,使用iOS QQ 登录 SDK 崩溃问题

最近用iPhone 6p 系统:12.5.4 调用QQ三方登录,出现崩溃到初始化QQ SDK的位置 在询问了QQ官方客服后,得到了答复,可以放弃治疗了

【华为OD机试】HJ26 字符串排序

描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,…

【Nginx34】Nginx学习:安全链接、范围分片以及请求分流模块

Nginx学习:安全链接、范围分片以及请求分流模块 又迎来新的模块了,今天的内容不多,但我们都进行了详细的测试,所以可能看起来会多一点哦。这三个模块之前也从来都没用过,但是通过学习之后发现,貌似还都挺有…

无人机电力巡检:国网安徽实际案例解析

在科技快速发展的今天,传统行业正在经历前所未有的转型。电力巡检,这一看似传统且乏味的任务,却因为无人机技术的介入而焕发新生。今天,让我们深入了解一个具体的案例,探索无人机如何革新电力巡检。 案例背景&#xff…

精讲stable diffusion的controlNet插件

controlNet插件是stable diffusion的一个重要插件,甚至可以说正是因为有了controlNet插件,stable diffusion才会具有midjourney所不具备的独特魅力! 我们今天就一起来学习下controlNet插件的安装和每个模型的用法 插件主页 独立的controlN…