从虚拟机安装CentOS到自定义Dockerfile构建tomcat镜像

news2024/11/13 14:01:31

写在开头
整个过程中涉及的三方软件均来源于三方的官网,因此需要有一个稳定良好的访问公网网络的环境,可能需要科学上网

下载并安装 VMware Workstation Player

  • 下载
    需要先注册登录:https://login.broadcom.com/signin
    下载页面:https://support.broadcom.com/group/ecx/downloads
    在这里插入图片描述
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0dfca828973f4efca8ad07855944dc78.png
  • 安装
    比较简单,略

下载并安装CentOS7.9

  • 下载
    阿里云开源镜像站下载地址:https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
    在这里插入图片描述
    根据自身需要选择一个版本,我这边选了一个最小化的安装版本

  • 安装
    安装过程中注意几点:
    1.语言选择中文简体或英文
    2.网络一般选择桥接模式
    3.分区的话boot不要太小,500M够用
    4.设置一个root密码

配置网络使可访问公网

  • 修改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33
    将ONBOOT=no改为ONBOOT=yes
  • 重启虚拟机网络service network restart
    以上完成后,因为安装过程中选了桥接模式,所以虚拟机和宿主机的网络是通的,只要宿主机连接上公网,虚拟机就可以访问公网。

配置yum源使可安装软件

  • 参考https://zhuanlan.zhihu.com/p/579846712
    在这里插入图片描述
    注意:因为之前CentOS安装的是minimal版本,所以没有wget命令,这里第四步要把wget替换成curl命令

至此,虚拟机已安装完,并且可访问公网,可安装一些列常用软件、命令了,比如vim、wget、net-tools等等

安装Docker

  • 参考CentOs中docker、docker-compose、docker-machine安装

准备构建Tomcat镜像

  • 下载Tomcat
    Tomcat官网
    在这里插入图片描述
  • 下载JDK
    Oracle官网 注意:要先注册登录才可以下载
    在这里插入图片描述
    历史版本下载页面
    在这里插入图片描述
  • 拉取操作系统基础镜像
    目前直接执行docker pull centos:7.9.2009是无法从Docker Hub拉取到镜像的,即使配置了阿里云、中科大、清华、网易等的加速器也不行,所以还需要再迂回一下。本人在github上找到一个方案,这里分享给大家

构建tomcat镜像

  • 自定义Dockerfile
    历经磨难,终于可以编写Dockerfile了,Dockerfile直接贴出来吧
FROM centos:7.9.2009
MAINTAINER xxx

#COPY ./jdk1.8.0_192 /usr/local/jdk1.8.0_192
#COPY ./apache-tomcat-7.0.61 /usr/local/pache-tomcat-7.0.61
ADD jdk-8u192-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-7.0.61.tar.gz /usr/local/

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_192
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.61
ENV CATALINA_BASE /usr/local/apache-tomcat-7.0.61
ENV PATH $PATH:$JAVA_HOME/bin:$CLASSPATH:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-7.0.61/bin/startup.sh && tail -f /usr/local/apache-tomcat-7.0.61/logs/catalina.out

说明:Dockerfile与前面下载的tomcat、jdk放在一个目录下,用ADD指令会自动解压,也可以用COPY,注意COPY指令后的src路径是tomcat、jdk解压后的、且dest路径也要有解压后的~

  • 构建并运行
    构建docker build -t tomcat:7.0.61-barley .
    查看是否有镜像docker images
    运行docker run -P -d tomcat:7.0.61-barley
    查看运行的容器docker ps
    在这里插入图片描述

关闭防火墙systemctl stop firewalld.service 或者放行宿主机端口
浏览器访问tomcat是否正常启动
在这里插入图片描述

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

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

相关文章

【IoTDB 线上小课 07】多类写入接口,快速易懂的“说明书”!

【IoTDB 视频小课】稳定更新中!第七期来啦~ 关于 IoTDB,关于物联网,关于时序数据库,关于开源... 一个问题重点,3-5 分钟,我们讲给你听: 一条视频了解写入接口 了解我们的友友们,应该…

HTML粉色烟花秀

目录 系列文章 写在前面 完整代码 代码分析 写在最后 系列文章 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4HTML情人节快乐5HTML蓝色爱心射线6HTML跳动的爱心(简易版)7HTML粒子爱心8HTML蓝色…

Observability:构建下一代托管接入服务

作者:来自 Elastic Vishal Raj, Marc Lopez Rubio 随着无服务器(serverless)的引入,向 Elastic Cloud 发送可观察性数据变得越来越容易。你可以在 Elastic Cloud Serverless 中创建一个可观察性无服务器项目,并将可观察…

Netty对处理粘包和半包的支持

Netty基本介绍,参考 Netty与网络编程 1.1 什么是粘包拆包 例如:发送 ABC, DEF两个报文 收到ABCDEF一个报文,发生了粘包 收到AB,C,DEF三个报文,ABC发生了拆包 收到AB,CD&#xff…

SQL server学习01-SQL server环境配置

目录 一,手动下载及安装 microsoft .net framework 3.5 1,下载 2,安装 二,安装SQL server2014 1,下载 2,安装 3,启动SQL server服务 三,下载及安装Microsoft SQL Server…

2024华为杯研赛E题保姆级教程思路分析

E题题目:高速公路应急车道紧急启用模型 今年的E题设计到图像/视频处理,实际上,E题的难度相对来说较低,大家不用畏惧视频的处理,被这个吓到。实际上,这个不难,解决了视频的处理问题,…

茶思屋直播|TinyEngine+AI:聚焦主航道,在实践中探索低代码技术黑土地

低代码引擎使能开发者定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低代码平台。适用于多场景的低代码平台开发&#xff…

周末愉快!——周复盘

加班的晚上有一个美梦! 周末愉快简单复盘结尾 精华: 在这个信息爆炸的时代,我们的大脑每天都被无数的数据和刺激充斥,以至于我们常常感到应接不暇。然而,正如古人所言:“不飞则已,一飞冲天”&am…

物联网关组态应用案例

产品简介 拓扑未来物联网关是高集成度的物联网采集及通信装置,支持通过RS485串口以太网口进行数据采集,支持数据缓存、协议解析、边缘计算,Ethernet/4G/WIFI数据传输和接入云端平台。支持采集PLC、传感器、仪器仪表和各种控制器,…

MySQL的索引——提高查找算法的数据结构 B+树

我们MYSQL服务器是在内存中的,所以所有的操作也是内存级的,索引也是如此 我们要提高算法的效率:首先要用一个好的数据存储结构储存数据,然后结构决定算法 所以——索引的本质就是一种提高算法效率组织的数据结构 缩印的主要价值体…

【华为杯】2024数学建模研赛题目

2024数学建模研赛题目已经发布 各个赛题题目如下: A题 B题 C题 D题 E题 F题 赛题完整版在文末,点击下方名片。

【操作系统】01.冯·诺伊曼体系结构

上面这张图就是我们经常能在各种教材中看到的冯诺伊曼体系结构。我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 一、认识设备 输入设备: 键盘、鼠标、网卡、磁盘、摄像头…… 输出设备&a…

Java8 中一个极其强悍的新接口,很多人没用过

在开发过程中经常会使用​​if...else...​​​进行判断抛出异常、分支处理等操作。这些​​if...else...​​​充斥在代码中严重影响了代码代码的美观,这时我们可以利用Java 8的Function接口来消灭​​if...else...​​。 if (...){throw new RuntimeException(&qu…

深入Android UI开发:从自定义View到高级布局技巧的全面学习资料

在Android开发的世界中,UI设计和实现是吸引用户的关键。本文将为您介绍一套全面的Android UI开发学习资料,包括详细的学习大纲、PDF文档、源代码以及配套视频教程,旨在帮助您从自定义View到高级布局技巧,全面提升您的UI开发技能。…

深度学习-从零基础快速入门到项目实践,这本书上市了!!!

此书地址: 《【2024新书】深度学习 从零基础快速入门到项目实践 文青山 跟我一起学人工智能 机器学习算法原理代码实现教程 深度学习项目分析 深度学习 从零基础快速入门到项目实践》【摘要 书评 试读】- 京东图书 除深度学习外我还写了一本软件测试书。我大概是国…

Godot游戏如何提升触感体验

在游戏世界中,触感体验至关重要,既能极大提升玩家沉浸感,让其深度融入游戏,在操作角色或与环境互动时,通过触感反馈获得身临其境的真实感(比如动作游戏中角色攻击或受击时的振动反馈,能使玩家更…

【OSS安全最佳实践】降低因账号密码泄露带来的未授权访问风险

如果因个人或者企业账号密码泄露引发了未经授权的访问,可能会出现非法用户对OSS资源进行违法操作,或者合法用户以未授权的方式对OSS资源进行各类操作,这将给数据安全带来极大的威胁。为此,OSS提供了在实施数据安全保护时需要考虑的…

6. Python 输出长方形,直角三角形,等腰三角形

使用Python输出长方形,直角三角形,等腰三角形 这里主要使用python语言里的循环知识,具体说是Python语言里的循环嵌套, 注意,在实际使用中,循环嵌套一般最多到达3层,嵌套太多会影响到程序执行。…

JavaWeb - 5 - 前端工程化

一.前后端分离开发 前后端混合开发 缺点:沟通成本高,分工不明确,不便管理,不便维护拓展 前后端分离开发 当前最为主流的开发模式:前后端分离 前后端分离开发中很重要的是API接口文档(如:YApi&…

蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性

知识点: 1、应急响应-Web内存马-定性&排查 2、应急响应-Web内存马-分析&日志 注:传统WEB类型的内存马只要网站重启后就清除了。 演示案例-蓝队技能-JAVA Web内存马-JVM分析&日志URL&内存查杀 0、环境搭建 参考地址:http…