p20 docker自己commit一个镜像 p21 容器数据卷 p22mysql同步数据(国内镜像被封锁暂时往后放)p23具名挂载和匿名挂载

如何自己commit一个镜像

这里还是先引用一下老师的笔记
在这里插入图片描述

关于如何自己commit一个镜像这个问题目前因为从仓库中拉下来的Tomcat里面是没有项目的,所以把webapps.dist里面的拷贝到webapps里面去作为自己的镜像在commit一下

这里用Tomcat举例子首先把镜像拉取下来执行 docker pull tomcat 我这里已经有了最新版本。
在这里插入图片描述

有了Tomcat镜像之后就执行docker run -it -p 8080:8080 tomcat来启动tomcat 这里因为tomcat是一个前台应用所以得使用快捷键 ctrl + p + q来退出当前容器这样子退出不会让tomcat容器停止运行
在这里插入图片描述

退出来之后就可以进入我们的tomcat控制台,这个时候我们执行docker exec -it 40359d451d90 /bin/bash可以看到我们已经进入进来了
在这里插入图片描述
因为从镜像仓库当中下载的镜像里面的webapps里面是空的所以为了方便我们测试我们这个时候需要把webapps.dist拷贝到webapps里面去
我们执行cp -r webapps.dist/* webapps
在这里插入图片描述

这个时候就可以访问我们的tomcat服务器了记得开启阿里云服务器的安全组对应的端口哈!!!!

在这里插入图片描述

下一步就是commit镜像了执行命令docker commit -a="迟茗阳" -m="在webapp里面添加了一些东西" 40359d451d90 tomcat02:1.0注意这里镜像名字吧不能有大写字母

在这里插入图片描述

这个时候就看镜像多了一个tomcat02
在这里插入图片描述
一直到这里结合我前面写的就算是入门docker了但是还远远不够!!!后面还得学习docker数据卷 docker 网络和dockerfile

容器数据卷

还是上来先引用一下老师的笔记
在这里插入图片描述

在这里插入图片描述

下面是我自己的理解和总结---------------------------------

容器数据卷的概念主要为了解决容器数据持久化的问题。当容器停止或删除时,其内部的状态和数据通常会丢失。为了确保这些重要信息能够长期保存,即使在容器生命周期结束后也能继续访问,数据卷技术应运而生。

具体来说,数据卷允许将容器内的特定目录与宿主机上的一个目录进行绑定。这意味着,当你对容器内指定目录下的文件进行任何修改时,实际上是在直接操作宿主机上对应的文件。以MySQL为例,假设你基于官方MySQL镜像启动了一个容器。在这个过程中,你可以设置一个数据卷,将MySQL的数据目录(例如,包含数据库文件的目录)挂载到宿主机的一个特定位置。这样一来,无论何时你在MySQL容器中创建、修改或删除数据库,这些操作都会反映在宿主机的相应目录下,从而实现了数据的持久化存储。

这种做法的好处显而易见:

  • 数据保护:即使容器被删除或替换,由于数据实际存储于宿主机,因此不会丢失。
  • 灵活性:多个容器可以共享同一个宿主机上的数据卷,这在需要跨多个服务或应用共享数据的情况下非常有用。
  • 易于备份和恢复:因为数据独立于容器存在,所以更容易进行备份和恢复操作。

总之,通过使用数据卷,不仅解决了容器化应用中常见的数据持久化问题,还增强了系统的灵活性和可维护性。

下面是实际的测试内容------------------------
还是先引用一下老师的笔记
在这里插入图片描述

启动一个centos容器把centos容器里面的home目录挂载到宿主机的home/ceshi目录下面去
执行命令docker run -it -v /home/ceshi:/home centos /bin/bash做一个挂载并且进入到容器当中去
在这里插入图片描述
可以看到多了一个cecshi目录这就相当于做了一个挂载之后再宿主机上面添加东西会自动同步到容器内,在容器内添加的东西会自动同步到宿主机里面去
这个时候可以执行docker inspect 容器id来查看容器的详细信息来看看他是否已经挂载成功了可以看到是已经挂载成功的了
在这里插入图片描述

可以看到现在容器里面和容器外面的两个挂载的内容是一样的都是空的
在这里插入图片描述

现在开始新建文件在容器里面新建一个文件test.java在容器外面不用新建会自动同步
在这里插入图片描述

在容器外面新建的也会自动同步到里面去
在这里插入图片描述

上面是新建文件,容器内外新建文件都是一样的接下来看文件里面的内容!!
还是一样的我们在容器里面对test01.txt写一个侧测试内容看看能不能自动同步到容器外面去
结论是容器里面修改的文件内容会自动同步到容器外面去
在这里插入图片描述
接下来看容器外面修改的文件内容能不能自动同步到容器里面去
在这里插入图片描述

注意以下这里就算是停止了容器因为已经把数据挂载出去了所以数据也不会丢失,删除容器数据也不会丢失!!!但是弊端就是会占用两倍的存储

mysql同步数据

这里因为docker的镜像加速国内都给封锁了所以这里只能先往后放了,有需要的直接取看老师的视频
狂神说dockermysql同步数据
其实就是用数据卷技术把mysql存储数据的地方挂载到宿主机上面去

具名挂载和匿名挂载

具名挂在和匿名挂载其实就也是外挂数据卷,没啥区别就是前面启动容器的时候我们指定了容器里面的/home目录挂载到/home/ceshi 要是使用匿名挂在我们可以不指定挂载的目录

我们使用NGINX镜像启动一个具名数据卷

docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
启动玩之后因为我们指定了数据卷的名字但是没有指定挂载的数据卷在宿主机上面的路径,docker会自动的有一个空间来存储这些没有指定宿主机路径的挂载

匿名挂载和具名挂载的区别
匿名挂载和具名挂载都是Docker中的数据卷挂载方式,主要用于容器的数据持久化。具体来说:

  1. 匿名挂载:
  • 不需要指定挂载卷的名称。
  • 适合临时使用或不需要持久化数据的情况。
  • 如果容器被删除,匿名卷也会被删除。
  1. 具名挂载:
  • 明确指定挂载卷的名称。
  • 适合需要持久化数据和更好地管理数据的情况。
  • 即使容器被删除,具名卷依然存在,可以通过名称进行管理。
    挂载之后可以使用docker volume ls来查看已经有的具名挂载和匿名挂载,其实匿名挂载就是不指定名字但是对于docker来说有一个哈希码也是一样的
    使用NGINX镜像启动具名数据卷
    假设我们要使用NGINX镜像启动一个具名数据卷,具体步骤如下:
    1.创建具名卷:
    docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
    创建匿名卷用这个命令
    docker run -d -P --name nginx03 -v /etc/nginx nginx
    2.创建成功之后可以执行 docker volume ls 来查看已经有的卷
    在这里插入图片描述

可以查看数据卷的详细信息
在这里插入图片描述

总结一下数据卷的挂载方式

-v 容器内路径 # 匿名挂载
-v 数据卷名:/容器内路径 # 具名挂载
-v /宿主机路径:/容器内路径 # 指定路径挂载

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MySql数据库---存储过程

存储过程概念 MySQL 5.0 版本开始支持存储过程。 简单的说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法,类似Python中的函数; 存储过就是数据库 SQL 语言…

多项目管理怎么进行❓看这篇就够了

多项目管理是一个复杂而细致的过程,涉及多个项目的同时进行和协调。首先,明确每个项目的目标和范围至关重要。在项目开始之初,应对所有项目进行全面评估,确定其战略价值、影响范围和资源需求。这有助于为每个项目设定清晰的优先级…

反应香精市场报告:预计2030年全球市场规模将达到264.3亿美元

“反应香精”通常是指通过在食品或饮料加工过程中发生的物理、化学或酶反应而产生的风味剂。可以有意添加这些香料以增强最终产品的味道、香气或其他感官方面。它们通常用于食品和饮料行业,以保持一致性、提高适口性或创造独特的风味特征。生产工艺香料的方法有多种…

新网站做谷歌SEO为什么短期内很难看到显著效果?

对于一个全新的网站来说,SEO的效果往往不会在短期内显现。这是因为SEO需要时间来积累权重和信任度。谷歌对新网站通常会有一个观察期,在这段时间内,网站的表现不稳定,排名也会波动较大,这是正常情况,这时候…

excel表格转换为在线成绩查询怎么制作?

在当前“双减”政策的背景下,学生的考试成绩不再被公开展示,这是对学生隐私的一种保护。然而,这同时也带来了一个新的问题:家长们对于孩子成绩的关切并未减少,他们依然迫切想要了解孩子的学习情况。以往,成…

使用Provide和Inject设计Vue3插件

使用provide和inject的Vue依赖项注入非常适合构建Vue3插件或避免prop多层传递。 尽管不经常使用它,但是您可以仅使用两个内置方法来实现依赖项注入:provide和inject。 查看Composition API文档,在Vue 3.0中,使用Provide和Inject进…

深度学习:循环神经网络—RNN的原理

传统神经网络存在的问题? 无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。 RNN神经网络 RNN(Recurrent Neural Network,循环神经网络)是一种专门用于处理序列数据的神经网络。在处理序列输入时具有记忆性…

基于RSSI原理的蓝牙定位程序(matlab代码,3维空间、基站数量>3即可,可自适应)

目录 商品描述 商品描述 这款基于接收信号强度指示(RSSI)原理的蓝牙定位程序,专为需要高效、可靠定位解决方案的开发者和研究人员设计。无论是在室内环境还是复杂的三维空间,该程序都能通过N个蓝牙锚点,实现对未知点的…

20.安卓逆向-frida基础-hook分析调试技巧2-hookDES

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…

【在Linux世界中追寻伟大的One Piece】DNS与ICMP

目录 1 -> DNS(Domain Name System) 1.1 -> DNS背景 2 -> 域名简介 2.1 -> 域名解析过程 3 -> 使用dig工具分析DNS 4 -> ICMP协议 4.1 -> ICMP功能 4.2 -> ICMP报文格式 4.3 -> Ping命令 4.4 -> traceroute命令 1 -> DNS(Domain Na…

HTB:Markup[WriteUP]

目录 连接至HTB服务器并启动靶机 1.What version of Apache is running on the targets port 80? 2.What username:password combination logs in successfully? 使用Yakit并使用TOP1000字典对密码进行爆破 3.What is the word at the top of the page that accepts use…

Python基础之List列表用法

1、创建列表 names ["张三","李四","王五","Mary"] 2、列表分片 names[1]:获取数组的第2个元素。 names[1:3]:获取数组的第2、第3个元素。包含左侧,不包含右侧。 names[:3]等同于names[0:3]&…

AD中显示Selection includes locked items.Continue?

因为框选拖动组里包含锁定的元器件,所以出现如下提示; 可以单击锁定元器件,点击location的锁形标记即可显示解锁的状态。 解锁之后: 然后就可以拖动框选的元器件了。

项目管理系统:提升企业项目管理效率的关键

随着市场的快速变化和企业业务的日益复杂,项目管理已成为企业成功的关键因素。但现阶段,企业项目管理正遭遇诸多棘手的挑战,让项目的实施充满不确定性。好在项目管理系统应运而生,为企业带来了新的希望和转机。但面对琳琅满目的项…

天津自闭症孩子寄宿制学校:关注每个孩子的成长与幸福

自闭症,这一复杂且日益受到关注的神经发育障碍,给患儿及其家庭带来了诸多挑战。在天津及全国范围内,越来越多的自闭症寄宿学校应运而生,致力于为这些特殊孩子提供全面的教育、康复和生活支持。而在遥远的广州,星贝育园…

【万字长文】Word2Vec计算详解(三)分层Softmax与负采样

【万字长文】Word2Vec计算详解(三)分层Softmax与负采样 写在前面 第三部分介绍Word2Vec模型的两种优化方案。 【万字长文】Word2Vec计算详解(一)CBOW模型 markdown行 9000 【万字长文】Word2Vec计算详解(二&#xff0…

ComfyUI【基础篇】:小白都可以学会的ComfyUI安装教程(原生版安装包)

大家我是极客菌!!!! 自从Flux这一款最新黑马文生图模型推出以来,Flux的浪潮正以不可阻挡之势席卷全球,目前本地电脑环境要玩Flux, 支持方式主要是ComfyUI。但是ComfyUI工具安装一直是很多小白比较困惑的地…

C++ 非STL数据结构学习——1.2 并查集

并查集的基本原理:四海之内的人,通过祖宗放在关联在一起。 例如,A的祖宗是B,B的祖宗又是C,D的祖宗若是C,则认为A和C就是一个集合的。 也就是说,每个元素有自己的祖宗信息,如果两元…

磁盘整理工具 IObit Smart Defrag Pro 免安装版

IObit Smart Defrag Pro 是一款功能强大的磁盘碎片整理工具。IObit Smart Defrag Pro最新版具有世界领先的碎片整理能力,IObit Smart Defrag Pro最新版不仅可以提供碎片整理功能,还可以根据使用频率智能地简化文件,从而加快磁盘速度并提高整个…

UR5机器人DH参数及其雅克比矩阵

UR5机器人有6个旋转关节(R关节),其DH参数如下: 关节 iiiaia_iai​ (m)did_idi​ (m)αi\alpha_iαi​ (rad)θi\theta_iθi​ (rad)100.089159π2\frac{\pi}{2}2π​θ1\theta_1θ1​2-0.42500θ2\theta_2θ2​3-0.3922500θ3\th…