Docker之数据卷自定义镜像

目录

一、数据卷

​二、自定义镜像

2.1自定义centos


一、数据卷

在docker中,数据卷是宿主机的一个可以供一个或多个容器使用的特殊目录,它可以在容器之间共享和重用,本地与容器间传递数据更高效;对数据卷的修改会立马有效,在容器内部与本地目录均可对数据卷进行修改。

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

#如果home目录下没有该文件夹,会自动帮你创建文件夹,并下载centos7
docker run -di --name c2 -v /home/javaxd/data/:/home/javaxd/data/ centos:7

数据卷容器,此时我创建了一个c4和一个c6的容器,c4跟c6进行一个挂载,就相比于c4的数据卷容器里,装了一个c6

注意:分开执行
docker run -di -v /home/javaxd/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7

去测试一下,我们在c4里面写东西

此时我们进入c6看看是否能看到c4写的东西

二、自定义镜像

作用:用来制作镜像的文件

2.1自定义centos

编辑Dockerfile文件(自定义的相对于网上的多了ifconfig命令)

vim mycentosDockerfile

进入Dockerfile文件后,把下面代码放进去

#第一行的意思:以哪个一个官方的镜像,我自己做的镜像是基于哪个镜像的
#第二行的意思:署名(作者)联系方式
#第三行的意思:在我自己做的镜像里执行该命令
#第四行的意思:同时下载一个网络工具
FROM centos:7
MAINTAINER javaxd "javaxd@qq.com"
RUN yum -y install vim
RUN yum install net-tools.x86_64 -y
CMD /bin/bash

通过Dockerfile构建镜像

注意:最后那个点不是不小心加的,必须要加,否则你做镜像肯定失败
docker build -f mycentosDockerfile -t javaxd/centos:v1.0 .

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

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

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

cd /javaxl/software
mkdir mydocker
vim mytomcatDockerfile

向 mytomcatDockerfile 编辑内容

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

ENV workerDir /home/javaxl/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"]

我们编辑的内容里的安装包,我们是需要的吧,所以我们还要上传安装包,因为我是在data运行的mytomcatDockerfile,所以必须把安装包传到data里,官方的tomcat不能直接使用

通过Dockerfile构建镜像

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

通过镜像启动容器进行测试

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

如果你想就直接8080的话,就改成-p 8080:8080,容器名不要重复

docker run -di --name mt2 -p 8080:8080 javaxd/tomcat8:v1.0

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS——PostCSS简介

文章目录 PostCSS是什么postCSS的优点补充:polyfill补充:Stylelint PostCSS架构概述工作流程PostCSS解析方法PostCSS解析流程 PostCSS插件插件的使用控制类插件包类插件未来的CSS语法相关插件后备措施相关插件语言扩展相关插件颜色相关组件图片和字体相关…

代码库管理工具Git介绍

阅读本文同时请参阅-----免费的Git图形界面工具sourceTree介绍 Git是一个分布式版本控制系统,它可以帮助开发者跟踪和管理代码历史。Git的命令行工具是使用Git的核心方式,虽然它可能看起来有些复杂,但是一旦掌握了基本命令,你…

基于MQTT协议实现微服务架构事件总线

一、场景描述 昨天在博客《客户端订阅服务端事件的实现方法》中提出了利用websocket、服务端EventEmitter和客户端mitt实现客户端订阅服务端事件,大大简化了客户端对服务端数据实时响应的逻辑。上述方案适用于单服务节点的情形。 对于由服务集群支撑的微服务架构&…

招聘系统架构的设计与实现

在当今竞争激烈的人才市场中,有效的招聘系统对企业吸引、筛选和管理人才至关重要。本文将探讨招聘系统的架构设计与实现,帮助企业构建一个高效、可靠的人才招聘平台。 ## 1. 系统架构设计 ### 1.1 微服务架构 招聘系统通常采用微服务架构,将…

Java JVM虚拟机面试题

Java JVM虚拟机面试题 前言1、ThreadLocal的底层原理和应用?2、Java中的锁池和等待池?3、wait(),yield(),join(),sleep()的区别?4、你们项⽬如何排查JVM问题?5、YGC和FGC发生时间?6、…

11.vue学习笔记(组件生命周期+生命周期应用+动态组件+组件保持存活)

文章目录 1.组件生命周期2.生命周期应用2.1通过ref获取元素DOM结构2.2.模拟网络请求渲染数据 3.动态组件3.1.A,B两个组件 4.组件保持存活(销毁期) 1.组件生命周期 每个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如设置…

探索AI视频模型的无限可能:OpenAI的Sora引领创新浪潮

文章目录 📑前言一、技术解析二、应用场景三、未来展望四、伦理与创意五、用户体验与互动🌤️总结 📑前言 随着人工智能技术的蓬勃发展,AI视频模型正逐渐成为科技领域的新宠。在这个变革的浪潮中,OpenAI推出的首个AI视…

Spring中 Unsupported class file major version 61 报错

初学Spring时遇到的一个错误&#xff1a;Unsupported class file major version 61 &#xff0c;如图所示&#xff1a; 网上查了一下大概是JDK的版本与Spring的版本不一致导致的错误&#xff1b;刚开始我用的Spring版本是&#xff1a; <dependencies><dependency>…

(全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF

研究生英语读写教程基础级教师用书PDF 研究生英语读写教程提高级教师用书PDF pdf下载&#xff08;完整版下载&#xff09; &#xff08;1&#xff09;研究生英语读写教程基础级教师用书PDF &#xff08;2&#xff09;研究生英语读写教程基提高级教师用书PDF

【Pytorch深度学习开发实践学习】Pytorch实现LeNet神经网络(1)

1.model.py import torch.nn as nn import torch.nn.functional as F引入pytorch的两个模块 关于这两个模块的作用&#xff0c;可以参考下面 Pytorch官方文档 torch.nn包含了构成计算图的基本模块 torch,nn.function包括了计算图中的各种主要函数&#xff0c;包括&#…

linux gdb 调试工具

1.写程序 首先&#xff0c;我们先写出一个 .c 或者.cpp程序 如 然后 gcc -g hello.c -o hello 或者 g -g hello.cpp -o hello &#xff08;-g&#xff09;要加 2. gdb调试 用 gdb &#xff08;可执行程序&#xff0c;如hello&#xff09; 进入之后&#xff0c;有…

Window系统安装USB Redirector结合cpolar实现远程访问本地USB设备

文章目录 前言1. 安装下载软件1.1 内网安装使用USB Redirector1.2 下载安装cpolar内网穿透 2. 完成USB Redirector服务端和客户端映射连接3. 设置固定的公网地址 前言 USB Redirector是一款方便易用的USB设备共享服务应用程序&#xff0c;它提供了共享和访问本地或互联网上的U…

物业智能水电抄表管理系统

物业智能水电抄表管理系统是物业管理行业的关键技术之一&#xff0c;其结合了智能化、远程监控和数据分析等功能&#xff0c;为物业管理公司和业主提供了高效、精准的水电抄表管理解决方案。该系统具有多项优势&#xff0c;能够提升物业管理效率&#xff0c;降低成本&#xff0…

[计算机网络]--MAC/ARP/DNS协议

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、认识以…

UnityWebGL UGUI中文不显示问题

这是Unity编辑中效果 打包成webgl后的效果&#xff08;中文没有显示出来&#xff09; 解决方法 将Unity默认使用的Arial替换成中文字体。 1.找到电脑字体库&#xff08;win电脑字体库路径&#xff1a;C:\Windows\Fonts &#xff1b;Mac电脑搜索“字体册”&#xff09;。 2.将…

TC3xx SMU、PMIC和Tranceiver的功能安全闭环

目录 1.TLF35584安全状态输出响应对象 1.1 响应ERR 收集到的错误信号 1.2 响应监控功能引发的ROT 1.3 响应看门狗引发的错误 1.4 环境过温引发的错误状态 1.5 为什么设计SSx&#xff1f; 2. 安全状态输出给谁 3.小结 在之前文章里&#xff0c;我们简述了TC3xx SMU如何…

js 面试题--事件循环event loop--宏任务和微任务

1 事件循环event loop概念&#xff1a; js 是非阻塞单线程语言&#xff0c;js在执行过程中会产生执行环境&#xff0c;执行环境会按顺序添加到执行栈中&#xff0c;先执行同步栈中的任务&#xff0c;当遇到异步任务时会添加到task队列中&#xff0c;同步栈执行完后&#xff0c…

Python学习系列 -初探标准库之logging库

系列文章目录 第一章 初始 Python 第二章 认识 Python 变量、类型、运算符 第三章 认识 条件分支、循环结构 第四章 认识 Python的五种数据结构 第五章 认识 Python 函数、模块 第六章 认识面向对象三大特性 第七章 初探标准库之os库 第八章 初探标准库之pathlib库 第九章 初探…

【数据结构(C语言)】排序详解

目录 文章目录 前言 一、排序的概念 1.1 排序的概念 1.2 常见的排序算法 二、插入排序 2.1 直接插入排序 2.1.1 基本思想 2.1.2 特性总结 2.1.3 代码实现 2.2 希尔排序 2.2.1 基本思想 2.2.2 特性总结 2.2.3 代码实现 三、选择排序 3.1 直接选择排序 3.1.1…

【数据结构和算法初阶(C语言)】空间复杂度(例题剖析一起探究空间如何评价算法)

目录 1.衔接前言-时间复杂度的回顾 2.关于算法复杂度 3.本文主角-空间复杂度 3.1大O的渐进表示方法 4.空间复杂度例题----实际感受空间复杂度 4.1冒泡排序的空间复杂度 4.2计算递归函数的空间复杂度 4.3动态开辟内存版本求斐波那契数列的空间复杂度 4.4&#xff08;…