docker之数据卷(Data Volumes)dockerfile

news2024/11/15 8:30:02

这里写目录标题

  • 宿主机与容器之间的文件拷贝
  • 数据卷
  • 数据卷容器
  • Dockerfile
    • 自定义centos,具备vim及ifconfig作用(体会学习Dockerfile的意义)
    • 自定义tomcat8(熟悉几乎所有的Dockerfile命令)

宿主机与容器之间的文件拷贝

引言:利用MySQL镜像安装MySQL服务

docker run -p 3307:3306 --name mysql1   -di -v /home/javaxy/data/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/ -v /home/javaxy/data/mysql/data/:/var/lib/mysql -v /home/javaxy/data/mysql/log/:/var/log -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

在这里插入图片描述

连接navicat.exe 测试

在这里插入图片描述

数据卷

将宿主机的目录与容器的目录进行挂载,实现数据共享
cp版本的

从宿主机cp到容器
docker cp /home/javaxy/ruanjian/mydocker/apache-tomcat-8.5.20.tar.gz tmcat3:/usr/local/tomcat/webapps
在这里插入图片描述
从容器cp到宿主机
docker cp tmcat3:/usr/local/tomcat/webapps/111.txt /home/javaxy/ruanjian/mydocker
在这里插入图片描述

将宿主机的目录与容器的目录进行挂载,实现数据共享

docker run -di --name c2 -v /home/yzp/data/:/home/pengge/data/ centos:7
在这里插入图片描述
最终结果显示:
在这里插入图片描述
在这里插入图片描述
结论:不管宿主机、容器在指定目录创建文件夹还是文件,都会会被共享;

数据卷容器

docker run -di -v /home/yzp/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7

其中c4为数据卷容器,c6为普通容器,其中c4就起到一个桥接作用,我们可以通过docker inspect查看容器的详细情况
在这里插入图片描述

结果:
在这里插入图片描述

docker inspect c4 可以查看c4里面的所有信息
在这里插入图片描述

docker inspect c6可以查看c6里面的所有信息
自己测试吧
结果:
会发现c4、c6目录挂载情况是一样的

结论:不管c4、c6在指定目录创建文件夹还是文件,都会会被共享;

Dockerfile

自定义centos,具备vim及ifconfig作用(体会学习Dockerfile的意义)

cd /javaxy/ruanjian
mkdir mydocker
vi mycentosDockerfile

向 mycentosDockerfile 编辑内容

FROM centos:7
MAINTAINER javaxy "2878276593@qq.com"
RUN yum -y install vim
RUN yum install net-tools.x86_64 -y
CMD /bin/bash

在这里插入图片描述
构建镜像

docker build -f mycentosDockerfile -t javaxy/centos:v1.0 .

出现下面这个即创建成功
在这里插入图片描述
通过镜像运行一个容器进行测试

docker run -it --name mc1 javaxy/centos:v1.0 /bin/bash

dc1c9ac8308.png)

在这里插入图片描述

自定义tomcat8(熟悉几乎所有的Dockerfile命令)

cd /javaxl/software
mkdir mydocker
vi mytomcatDockerfile

向 mytomcatDockerfile 编辑内容

FROM centos:7
MAINTAINER javaxy "javaxy@qq.com"

ENV workerDir /home/javaxy/dockerfile/3
WORKDIR $workerDir

ADD jdk-8u151-linux-x64.tar.gz $workerDir
COPY apache-tomcat-8.5.20.tar.gz $workerDir
RUN tar -xvf apache-tomcat-8.5.20.tar.gz apache-tomcat-8.5.20

ENV JAVA_HOME $workerDir/jdk1.8.0_151
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV TOMCAT_HOME $workerDir/apache-tomcat-8.5.20
ENV PATH $JAVA_HOME/bin:$TOMCAT_HOME/bin:$TOMCAT_HOME/lib:$PATH

EXPOSE 8080
ENTRYPOINT ["/home/javaxl/dockerfile/3/apache-tomcat-8.5.20/bin/catalina.sh","run"]

在这里插入图片描述

构建镜像

docker build -f mytomcatDockerfile -t javaxy/tomcat8:v1.0 .

在这里插入图片描述

通过镜像运行2个容器进行测试

docker run -di --name mt1 -P javaxy/tomcat8:v1.0
docker run -di --name mt2 -P javaxy/tomcat8:v1.0

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

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

相关文章

故障分析 | Greenplum 集群 standby 故障处理

作者:杨文 DBA,负责客户项目的需求与维护,没有擅长,会点数据库,不限于MySQL、Redis、Cassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。 本文来源:原创投稿 *爱可生开源社区出品,原创内容…

SM4分组密码算法

对称加密算法SM4SM4算法介绍一、SM4加密流程二、轮函数F1.合成置换T3.非线性变换τ2.线性变换L4.加密的结果总结SM4算法介绍 SM4.0于2013年3月被列为国家密码行业标准“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。2016年被列入国家标准…

blender assetBrowser 资产浏览器

文章目录简介.基础操作打开资产浏览器.标记资产.资产库位置设置与加载其他工程的资产库.为资产设置分类.设置资产的属性.根据类型筛选资产.标记材质为资产.标记天空盒材质为资产.标记动作为资产.简介. 1 类似于unity的预制体,可以直接从资产浏览器里拖出来 2 创建时…

什么是缓存架构,什么是后端分布式多级缓存架构,全文解析带你了解其中门道

文章目录浏览器缓存客户端缓存CDN缓存反向代理缓存本地缓存分布式缓存其他:缓存命中率缓存问题:缓存穿透缓存问题:缓存击穿缓存问题:缓存雪崩缓存问题:缓存一致性缓存的其他问题开篇01数据库缓存1.1.MySQL查询缓存1.2.…

CAS登录认证

CAS最基本的协议过程: 名词解释 Ticket Grangting Ticket(TGT) : TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。TGT封装了Cookie值以及此Cookie值对应的用户信息。用户在CAS认证成功后&#xff0c…

应用于供暖、供水管道等场景的一种智能控制阀

智能控制阀,顾名思义就是能够实现智能化控制功能的一种控制阀。它有什么用处呢? TSM-04V无线智能控制阀由锂亚电池供电、超长续航,具有无线远程配置功能,是一种高可靠性阀控设备。自带断码显示屏,可以查看设备的电量、…

在VScode中使用Jupyter Notebook的一些技巧

目录 一、VScode中Jupyter Notebook的优点 二、Cell命令模式目前支持的Jupyter Notebook快捷 三、Cell编辑模式下支持的Vscode快捷键(只描述与编辑相关的那些快捷键)​​​​​​​ 一、VScode中Jupyter Notebook的优点 1.写py代码和使用Notebook经常…

DBCO-SS-Mal,DBCO-SS-Maleimide,马来酰亚胺衍生物试剂特点分析

一、基础产品数据(Basic Product Data): CAS号:N/A 中文名:二苯并环辛炔-二硫键-马来酰亚胺 英文名:DBCO-SS-Maleimide,DBCO-SS-Mal二、详细产品数据(Detailed Product Data&#xf…

aws 整理和理解aws的虚拟化技术

资料 Introduce_to_virtualizationKVM I/O虚拟化AWS EC2 Virtualization 2017: Introducing Nitro从AWS转向KVM,再看KVM与XEN的技术路线之争 简单整理并了解下和aws相关的虚拟化技术 虚拟化技术 相关概念 Hypervisor Hypervisor是一种运行在物理服务器和操作系…

一文彻底搞懂什么是SSH中间人攻击(Man-in-the-middle attack)

文章目录【1】背景【2】中间人攻击原理登录报错信息提示从首次登录服务器说起中间人攻击原理重装服务器导致ssh无法登录的解决方案【3】如何避免中间人攻击?【4】什么是Known_hosts ?known_hosts中的文件来自哪里?这个/etc/ssh/ssh_host_ecds…

gcc内联汇编

1. 介绍 用汇编编写的程序虽然运行速度快,但开发速度非常慢,效率也很低。如果只是想对关键代码段进行优化,或许更好的办法是将汇编指令嵌入到 C 语言程序中,从而充分利用高级语言和汇编语言各自的特点。但一般来讲,在…

华为机试_HJ81 字符串字符匹配【简单】【收藏!】

目录 描述 输入描述: 输出描述: 解题过程 提交代码 学习代码 收藏点 一、strstr函数 二、stdlib.h 描述 判断短字符串S中的所有字符是否在长字符串T中全部出现。 请注意本题有多组样例输入。 数据范围:1≤len(S),len(T)≤200 进阶&#xf…

如何解决“德语/文”等外文字符显示乱码问题

目录 1“德文/语字符”等外文显示乱码原因 2 如何解决“德文/语字符”等外文显示乱码 2.1 使用支持多个“编码”切换的工具打开该文本 2.2 使用变音字符的标准ASCII字符 2.3 将计算机系统切换至西欧编码 3 结尾 1“德文/语字符”等外文显示乱码原因 以德文/语为例&#…

vue3(二)

前一篇讲了 vue3的生命周期钩子的使用。 本节接着讲 vue3的数据通信。 provide/inject 依赖注入 App.vue <script setup lang"ts"> import { ref, provide } from vue import List from ./components/List.vue import User from ./components/User.vue impo…

知识点8--Docker镜像的秘密

前面的知识点我们介绍了docker的日常使用&#xff0c;但其实docker存在的核心意义是交付环境&#xff0c;也就是镜像&#xff0c;本片知识点带大家了解一下镜像的秘密。 镜像本身是一种轻量级、可执行的独立软件包&#xff0c;它包含运行某个软件所需的所有内容&#xff0c;包…

【Tensorflow学习二】神经网络优化方法学习率、激活函数、损失函数、正则化

文章目录预备知识tf.wheretf.random.RandomState.rand() 返回一个[0,1)之间的随机数np.vstack() 将数组按照垂直方向叠加np.mgrid[ ] np.ravel( ) np.c_[ ] 一起使用可以生成网格坐标点复杂度、学习率复杂度指数衰减学习率激活函数Sigmoid激活函数Tanh激活函数ReLu激活函数Leak…

今天面了个00后测试员,让我见识到了内卷届的天花板

深耕IT行业多年&#xff0c;我们发现&#xff0c;对于一个程序员而言&#xff0c;能去到一线互联网公司&#xff0c;会给我们以后的发展带来多大的影响。 很多人想说&#xff0c;这个我也知道&#xff0c;但是进大厂实在是太难了&#xff0c;简历投出去基本石沉大海&#xff0…

Linux安装KVM

一、虚拟化技术 1、全虚拟化和半虚拟化技术 如果给KVM、XEN简单归类的话&#xff0c;KVM是完全虚拟化技术又叫硬件辅助虚拟化技术&#xff08;Full Virtualization)。相反&#xff0c;XEN是半虚拟化技术&#xff08;paravirtualization&#xff09;&#xff0c;也叫做准虚拟化…

线上环境内存溢出-OutOfMemoryError

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 线上环境内存溢出-OutofMemoryError前言一、OutOfMemoryError是什么&#xff1f;二、实际情况&#xff08;参考&#xff09;解决方案1.实战总结前言 公司线上环境&#xff0…

getBoundingClientRect属性研究

getBoundingClientRect属性研究 概念 getBoundingClientRect 返回 width、height和下图中的6个属性 实测总结&#xff1a; 抓住一个核心点&#xff0c;就是height、width的值&#xff1a; box-sizing 是 content-box时&#xff0c;width和height 内容borderpaddingbox-siz…