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

容器间数据共享~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.rhkb.cn/news/165029.html

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

相关文章

【计算机毕设选题推荐】口腔助手小程序SpringBoot+Vue+小程序

前言:我是IT源码社,从事计算机开发行业数年,专注Java领域,专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务 项目名 基于SpringBoot的口腔助手小程序 技术栈 SpringBootVue小程序MySQLMaven 文章目录 一、口腔…

java-各种成员变量初始化过程-待完善

前置条件 一、本文章讨论的成员变量 public static final String aa "aa";public static final Integer bb 1;public static final Students cc new Students();public static String aa1 "aa";public static Integer bb1 1;public static String bb2…

MySQL基本操作之修改表结构

1、末尾增加字段 在表结构末尾增加一个名为 beizhu 的字段,类型为 varchar(250),并添加注释 trie: ALTER TABLE student ADD beizhu VARCHAR(250) COMMENT trie; 2、在表结构开头增加一个名为 xxx 的字段,类型为 varchar(20): ALTER TABLE student ADD xxx VARCHAR(20)…

Redis在分布式场景下的应用

分布式缓存 缓存的基本作用是在高并发场景下对应服务的保护缓冲 – 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题: redis由于高强度性能采用内存 但是意味着丢失的风险单结点redis并发能力有限分布式服务中数据过多 依赖内存的redis 明显单机不…

深度学习技巧应用29-软件设计模式与神经网络巧妙结合,如何快速记忆软件设计模式

大家好,我是微学AI,今天给大家介绍一下软件设计模式与神经网络巧妙结合,如何快速记忆软件设计模式。我们知道软件设计模式有23种,考试的时候经常会考到,但是这么种里面我们如何取判断它呢,如何去记忆它呢&a…

Day5力扣打卡

打卡记录 对角线上不同值的数量差(矩阵对角线遍历 前缀和) 链接 思路:由于任意行 i 与 列 j,满足对角线上 i j t 的关系,t 的范围为 [1 - n, m - 1],设 s t n,可以得到 s的范围为 [1, n …

uniapp接入萤石微信小程序插件

萤石官方提供了一些适用于uniapp / 小程序的方案 如 小程序半屏 hls rtmp 等 都TM有坑 文档写的依托答辩 本文参考了uniapp小程序插件 以及 萤石微信小程序插件接入文档 效果如下 1. 插件申请 登录您的小程序微信公众平台,点击左侧菜单栏,进入设置页…

盒式交换机堆叠配置

目录 1.配置环形拓扑堆叠 2.设备组建堆叠 3.设备组件堆叠 堆叠 istack,是指将多台支持堆叠特性的交换机设备组合在一起,从逻辑上组合成一台交换设备。如图所示,SwitchA与 SwitchB 通过堆叠线缆连接后组成堆叠 istack,对于上游和…

电流监测芯片SGM8199A2应用电路设计

SGM8199是一系列具有电压输出功能的双向电流监测芯片,用于监测共模电压范围内分流电阻上的压降,而不受电源电压的影响。该器件具有-0.1V至26V的宽共模电压范围输入。低偏移使得在监测电流时允许分流器上的满量程最大压降为10mV。SGM8199系列提供三种固定…

基于SSM的培训学校教学管理平台的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

网站批量替换关键词方法

注意替换操作之前先对文件做好备份 1.下载http://downinfo.myhostadmin.net/ultrareplace5.02.rar 解压出来,运行UltraReplace.exe 2.点击菜单栏中的配置,全选所有文件类型,或者根据自己的需求选择部分,如htm、html、php、asp等 3.若替换单个文件,点击文件,若是要…

液氮罐在科研实验中的重要作用与优化方案

在科研实验中,液氮罐扮演着极其重要的角色。液氮罐是一种用于储存和传输液氮的设备,其低温特性使得它成为许多实验室的必备工具。本文将探讨液氮罐在科研实验中的重要作用以及优化方案。 首先,液氮罐在科研实验中的重要作用之一是保存生物样…

论文阅读 | RAFT: Recurrent All-Pairs Field Transforms for Optical Flow

RAFT: Recurrent All-Pairs Field Transforms for Optical Flow ECCV2020光流任务best paper 论文地址:【here】 代码地址:【here】 介绍 光流是对两张相邻图像中的逐像素运动的一种估计。目前碰到的一些困难包括:物体的快速运动&#xff…

MIT6.S081Lab1: Xv6 and Unix utilities

MIT6.S081 Lab1: Xv6 and Unix utilities 官方文档 一.Boot xv6 如何成功的boot xv6可以看之前的文章MIT6.S081实验环境搭建,只是多一个步骤,在clone的文件夹中执行 git checkout util切换为util分支即可。 二.sleep 在user/sleep.c中编…

排序算法可视化

前言 这两天在B站上刷到一个视频,用python把各种排序动画可视化显示了出来觉得还蛮好玩的,当即就决定用Flutter写一个玩玩,顺便复习一下排序算法,话不多说,进入正文~ 效果图: 该效果图为鸡尾酒排序(双向冒…

K8s 概念及组件

K8s 的全称为Kubernetes,是一种开源的容器编排平台,用于自动化部署以及扩展和管理容器化的应用程序,它提供了一种容器编排和管理的方式,可以帮助开发人员更轻松的管理容器化的应用程序,并且提供了一种跨多个主机的自动…

【ELK 使用指南 3】Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构(附部署实例)

EFLKK 一、Zookeeper1.1 简介1.2 zookeeper的作用1.3 Zookeeper的特点1.5 Zookeeper的数据结构1.6 Zookeeper的应用场景1.7 Zookeeper的选举机制(重要)1.7.1 第一次启动时1.7.2 非第一次启动时 二、Zookeeper集群部署2.1 安装前准备2.2 安装 ZookeeperSt…

用echarts在vue2中实现3d饼图

先看效果,再看文章: 一、安装插件 3d的图不仅用到echarts,还用到了echarts-gl,因此都需要安装一下哦~ npm install echarts npm install echarts-gl2.0.9 //可以指定版本,也可不指定二、在main.js中引入 import * …

Spring创建复杂对象

目录 一、什么是复杂对象 二、创建复杂对象的3种方式 2.1 实现FactoryBean接口 2.1.1 普通的创建方式 2.1.1 依赖注入的方式 2.1.3 FactoryBean的工作原理 2.2 实例工厂 2.3 静态工厂 一、什么是复杂对象 书接上回,我们已经分析了Spring是怎么去创建对象的了。那什…

springweb+vue前后端分离开发,集成部署

背景: 在自己做测试的时候,由于需要项目和项目的前端页面使用同样接口访问,所以需要将前端代码部署到后端项目下。前端采用vue,后端采用springboot。 首先时建立一个vue项目,这个可以参照网上的案例,创建方…