进阶Docker2:数据卷和挂载目录

目录

准备

删除容器

 创建并运行一个容器

数据卷(Volumes)

挂载数据卷

虚拟机端口映射

挂载目录(Bind mounts)

挂载目录

挂载文件

部署在线项目


docker 在容器中管理数据主要有两种方式:
- 数据卷( Volumes
- 挂载主机目录( Bind mounts

准备

删除容器

docker rm -f $(docker ps -aq)

 创建并运行一个容器

方法一
docker run -itd \
--name t1 \
-p 8080:8080 \
--mount source=v1,target=/usr/local/tomcat/webapps \
tomcat:8.5.20
方法二
docker start c1
docker exec -it c1 bash

数据卷Volumes

挂载和数据卷的区别:数据卷和替换整个目录而挂载只会替换一个文件夹或者一个文件,所以挂载的使用性更高;数据卷替换所有文件后可能导致tomcat 或者 mysql无法使用 因为配置文件被全部替换

为了很好的实现数据保存和数据共享, Docker 提出了 Volume 这个概念,简单的说就是绕过默认的联合
文件系统,而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。
数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS ,可以提供很多有用的特性:
  • 数据卷 可以在容器之间共享和重用
  • 数据卷 的修改会立马生效
  • 数据卷 的更新,不会影响镜像
  • 数据卷 默认会一直存在,即使容器被删除
创建数据卷
docker volume create v1
查看所有数据卷
docker volume ls
查看数据卷信息
docker volume inspect v1
删除一个 volume
docker volume rm v1
数据卷 是被设计用来持久化数据的,它的生命周期独立于容器, Docker 不会在容器被删除后自动
删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷,无主的数据卷
可能会占据很多空间,所以要及时删除 .

挂载数据卷

在用 docker run 命令的时候,使用 -- mount 标记来将 数据卷 挂载到容器里。在一次 docker
run 中可以挂载多个 数据卷
docker run -itd \
--name 容器名字 \
--mount source=数据卷名称,target=容器中的对应目录 \
镜像名称

实际例子

docker run -it \
--name c1 \
--mount source=v1,target=/testdir \
centos
最好是通过 run 而非 create/start 创建启动容器, create/start 命令创建启动容器后,再挂载数据卷
相当麻烦,要修改很多配置文件,但并非不可以
加了“\”意为将最后的回车换行给注释了,系统理解为命令还没有结束,因而是继续等待用户进行
输入,直到读到结束符,如回车
如果数据卷不存在,docker会自动创建
如果容器上目录不存在, docker会自动创建
查看数据卷的具体信息
docker inspect namedocker inspect v1

虚拟机端口映射

通过虚拟机端口映射可在虚拟机中运行tomcat,在本机访问tomcat端口

docker run -itd \
--name t1 \
-p 8080:8080 \
--mount source=v1,target=/usr/local/tomcat/webapps \
tomcat:8.5.20虚拟机要开放端口
firewall-cmd --zone=public --add-port=8080/tcp

挂载目录Bind mounts

soft直接将webapps替换了
-v 可以挂载目录
-v 还可以单独挂载文件

挂载目录

挂载一个目录也是文件夹,先创建一个soft目录,mkidr soft

docker run -itd \
--name t1 \
-v /soft/usr/local/tomcat/webapps/oapro.war \
-p 8080:8080 \
tomcat:8.5.20

挂载文件

docker run -itd \
--name t1 \
-v /soft/oapro.war:/usr/local/tomcat/webapps/oapro.war \
-p 8080:8080 \
tomcat:8.5.20

想实现远程登录到容器内部的tomcat
实现在线部署项目

需要放入tomcat的用户信息 tomcat-user.xml 文件中
还要允许外部访问 webapps/manager/META-INF/context.xml

需要提前vi编辑tomcat-users.xml 文件,编辑用户信息admin;

删除context.xml 文件中的部分内容

部署在线项目

docker run -itd \
--name t1 \
-v /soft/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml \
-v /soft/context.xml:/usr/local/tomcat/webapps/manager/META-INF/context.xml \
-p 8080:8080 \
tomcat:8.5.20

注:mysql nginx的配置文件都要通过挂载的形式

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

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

相关文章

图像处理-像素位置的一阶导数和二阶导数

图像处理-像素位置的一阶导数和二阶导数 空间卷积是一种图像处理中常用的技术,用于计算图像中每个像素位置的一阶导数和二阶导数。在这里将解释如何使用卷积操作来实现这些导数的计算。 一阶导数和二阶导数的性质: 一阶导数通常产生粗边缘&#xff1b…

4.2V锂电线性1.2A充电芯片WT4056

4.2V锂电线性1.2A充电芯片WT4056 WT4056是一款专为单节锂离子电池设计的恒流/恒压线性充电器。其简洁的外部电路设计使其非常适用于便携设备的供电,同时兼容USB电源和适配器电源。该充电器内部采用了防倒充电路,无需额外添加外部隔离二极管。通过热反馈…

Linux(适合开发人员参考)

Linux的概述 先了解Unix Unix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。UNIX的商标权由国际开放标准组织(The Open Group)所拥有。UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版…

Authing 入选中国信通院《 2023 高质量数字化转型产品及服务全景图》

近日,中国信通院“铸基计划”发布了《高质量数字化转型产品及服务全景图( 2023 )》。Authing 身份云成功入选 IT 维护与运营领域并获得证书。 “十四五”时期,我国数字经济转向深化应用、规范发展、普惠共享的新阶段,数字化转型已成为传统企业…

Notepad++编译运行C/C++程序

首先需要先下载一个C语言编译器-MinGW(免费的) 官网:http://www.mingw.org/(加载太慢) 我选择MinGW - Minimalist GNU for Windows download | SourceForge.net这个网址下载的 注意安装地址,后续配置环境…

什么是Java泛型?泛型在Java中应用场景

目录 一、什么是Java泛型 二、泛型类 三、泛型接口 四、泛型方法 一、什么是Java泛型 Java泛型是一种在编译时进行类型检查和类型安全的机制。它允许编写能够操作多种类型的代码,而不需要进行类型转换或使用Object类型。通过在定义类、接口或方法时使用泛型参数…

云原生微服务之分布式锁框架 Redisson

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 系列专栏目录 [Java项目…

数据仓库(3)-模型建设

本文从以下9个内容,介绍数据参考模型建设相关内容。 1、OLTP VS OLAP OLTP:全称OnLine Transaction Processing,中文名联机事务处理系统,主要是执行基本日常的事务处理,比如数据库记录的增删查改,例如mysql、oracle…

采样次数与频率的关系

采样次数(Sampling Points) 在给定时间内记录信号值的次数。 假设在1秒内对一个连续信号采样10次,这意味着每0.1秒记录一次信号值。 假设在1秒内对一个连续信号采样100次,这意味着每0.01秒记录一次信号值。 频率(Fre…

统一存储双控NAS同步备份应用方案

随着业务量的增加,企业必须找到一种有效的解决方案保护数据安全,防止不可预测的存储系统故障。传统的数据备份往往是专用的数据格式,不能保留完整的用户目录信息。因此,IT 人员必须在数据恢复后重新配置才可重新恢复业务。为了解决…

序章 初始篇—转生到vue世界!

Vue.js 是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项…

linux命令太多记不住吗?怎么办 ?于是推出了这样一套教程。

1.帮助命令 1.1 help命令 #语法格式: 命令 --help #作用: 查看某个命令的帮助信息 # 示例: # ls --help 查看ls命令的帮助信息# netstat --help 查看netstat命令的帮助信息1.2 man命令 #语法格式: man 命令 #作用: 查看某个命令的帮助手册 # 示例: …

递归(Recursion)

一、递归 递归:通过函数体来进行的循环 汇编:它没有所谓的循环嵌套这一说,你之前有一段指令写在什么地方,你不断的跳到之前的指令的地方去执行那条指令,这就是递归。 从前有个山山里有个庙庙里有个和尚讲故事返回1 …

智慧公厕!高科技手段提升城市品质与形象

近年来,随着科技的不断进步,智慧公厕正以其独特的功能和对公共厕所全方位的信息化和数字化,成为智慧城市建设中的重要一环,悄然崭露头角。如广州中期科技有限公司自主研发的智慧公厕管理系统,借助于厕位监测、环境监测…

数据结构期末复习(C语言版)

一、绪论 1.数据结构的术语 数据:所有能输入计算机并被计算机程序处理的符号的总称;数据元素:数据的基本单位;数据项:组成数据元素的、有独立含义的、不可分割的最小单位;数据对象:是性质相同…

数据结构学习 jz44 数字序列中某一位的数字

关键词:找规律 数学 题目:LCR 163. 找到第 k 位数字 虽然做出来了但是做了十万年,我是猪。主要还是找到准确的规律。 思路: //找规律 //0-9 占了10个位置 //10-99 占了90*2个位置 //100-999 占了900*3个位置 //1000-9999 占了90…

优思学院|质量管理五大工具和七大手法要点总结|2024

在现代企业管理中,质量管理是核心竞争力的重要组成部分。它不仅关系到产品的品质,更直接影响到企业的市场信誉和经济效益。本文将深入探讨质量管理中的五大工具及七大手法,这些工具和手法都贯穿了六西格玛DMAIC五步的方法论之中,是…

主流图片压缩格式

主流图片压缩格式主要分为两类:有损压缩和无损压缩。这些格式根据不同的应用场景和需求被广泛使用。 下面是一些常见的图片压缩格式: 有损压缩格式 JPEG (Joint Photographic Experts Group): 最常见的图片格式之一,广泛用于网页图像、摄影和…

「JavaSE」类和对象2

🎇个人主页:Ice_Sugar_7 🎇所属专栏:快来卷Java啦 🎇欢迎点赞收藏加关注哦! 类和对象2 🍉匿名对象🍉关键字static🍌static修饰成员变量🍌static修饰成员方法&…

如何正确使用数据库的读写分离

本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。 背景 在应用系统发展的初期,我们并不知…