使用docker在基础镜像上集成tomcat

2023-11-17

当我们对基础镜像版本和tomcat版本有要求时,可以尝试自己集成所需的镜像,不必每次都去拉取其他人提供的镜像,然后在此基础镜像上部署自己的应用。
目标版本:

基础镜像版本:ubuntu:16.04
JDK版本:jdk1.8.0_191
tomcat版本:8.5.40

1、拉取基础镜像

docker pull ubuntu:16.04

默认会从docker官方维护的仓库拉取

2、准备安装包
下载所需版本的jdk和tomcat
当前下载的包为:

	jdk-8u191-linux-x64.tar.gz
	apache-tomcat-8.5.40.tar.gz

将压缩包放到指定的工作目录
3、在工作目录下编写Dockerfile

FROM ubuntu:16.04

WORKDIR /apple

ADD apache-tomcat-8.5.40.tar.gz /usr/local/
ADD jdk-8u191-linux-x64.tar.gz /usr/local/

ENV JAVA_HOME=/usr/local/jdk1.8.0_191
ENV PATH=$JAVA_HOME/bin:$PATH JRE_HOME=$JAVA_HOME/jre 
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

CMD ["sh","-c","/usr/local/apache-tomcat-8.5.40/bin/startup.sh && cat /dev/stdout"]

注意:CMD这一层可以去掉,我加上这层仅仅是为了测试tomcat能否正常启动。配置jdk环境变量时,注意路径,确保都能每行都能取到正确的路径。

4、构建

 docker build . -t tomcat:1.2

镜像名称可以自己定义成更有辨识度的名字。

5、测试

docker run -ti -p 8085:8080 tomcat:1.2

可以访问宿主机的映射端口,查看是否可以打开tomcat欢迎页。

在这里插入图片描述

若不能打开,可尝试按照以下步骤检查:
步骤1:在宿主机上查看容器是否拉起,执行

	docker ps

若容器状态为exit,则重新拉起容器测试。

步骤2:若容器在运行,进入容器查看
执行

	docker exec -ti 容器ID /bin/bash

此时进入容器,

查看tomcat是否启动成功,ps -ef | grep java
查看tomcat的启动日志
输入java -version命令查看当前jdk是否安装成功,
输入env命令查看当前环境变量是否配置成功,
查看/usr/local文件夹下是否有解压后的文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用docker在基础镜像上集成tomcat 的相关文章

随机推荐

  • intellij idea开发环境下使用jetty跑项目修改js、jsp文件提示Cannot Save Files 问题

    问题描述如题 试了好久终于找到解决办法 记录下来与大家分享 1 首先进入你的maven仓库找到jetty的位置 我的位置在 C Users ccpit m2 repository org mortbay 供大家参考 2 进入jetty目录
  • DrawerLayout+ToolBar

    ToolBar自定义图标 关联DrawerLayout http blog csdn net static zh article details 52621240 Android侧滑菜单DrawerLayout的使用 http blog c
  • (休息几天)读曼昆之微观经济学——供给需求和政府政策

    1价格上限的短期效应和长期效应 价格上限的一个常见例子是租金管制 在很多城市 当地政府部门规定了房东对租房者索要的最高价格上限 该政策的目的是帮助穷人能租得起房子 经济学家通常痛批租金管制政策 认为它是一种非常缺乏效率的帮助穷人提高他们生活
  • QT信号与槽机制解析

    信号 Signal 与槽 Slot 是Qt编程的基础 有了信号与槽的编程机制 在Qt中处理界面各个组件的交互操作时变得更加直观和简单 GUI程序设计的主要内容就是对界面上各组件的信号的响应 只需要知道什么情况下发射哪些信号 合理地去响应和处
  • 持续增加时间价值30条

    今天分享阅读 时间价值 第一章时的笔记 持续增加时间价值30条 1 当你认为时间在帮助自己的时候 就觉得他是自己的朋友 当你有了要做的事情 当你在确定的方向上往前走 那么时间是在累积我们的成果 就是在帮我们的忙 2 在大的时间面前不要做太小
  • [深入研究4G/5G/6G专题-45]: 5G Link Adaption链路自适应-1-总体架构

    目录 第1章 链路自适应技术概述 1 1 概述 1 2 链路自适应技术的类型 1 3 基本概念
  • 电信行业BOSS系统

    BOSS系统 是Business Operation Support System的简称 即业务运营支撑系统 通常所说的BOSS系统分为四个部分 计费及结算系统 营业与账务系统 客户服务系统和决策支持系统 BOSS系统从业务层面来看就是一个
  • 什么是 JSONP?

    前言 首先我们得先了解JSONP是怎么产生的 最开始跨域请求数据没有现在方便 Ajax直接请求普通文件存在跨域无权限访问的问题 然后聪明的程序员想出了一套非官方的解决办法 程序员发现凡是带有 src 这个属性的标签都拥有跨域的能力 比如 l
  • 自媒体创作审核不通过怎么办?教你一个小技巧,提高效率

    自媒体人是不是会遇到平台审核内容不通过的时候 遇到这个问题你是怎么解决的呢 是不是修改内容提交还是不通过 今天 教你一个小技巧 快速解决内容审核不通过的问题 提高发稿效率 很多自媒体新手不知道稿件还能不能进行质量检测 所以 有时候写的自媒体
  • [深入研究4G/5G/6G专题-24]: 5G NR开机流程4.2 - 随机接入应答消息MSG2的调度过程与上行同步、时间提前量TA通过PDSCH信道下发

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 前置条件 第1章 随机接入知识准备
  • UNIAPP中文字上下左右居中

    效果 index vue
  • Flutter drawer侧滑栏实现

    侧滑栏对于大部分App来说都是经常用到的 接下来我们来一步步的实现flutter的侧滑栏效果 这里需要使用flutter提供的 Drawer和DrawerHeader控件 DrawerHeader通常用作侧滑栏的头部控件 比如用户头像等 D
  • Vulnhub之Me-and-My-Girlfriend

    Vulnhub是一个很好的靶机平台 想看官网点这里 今天学习Me and My Girlfriend 点击这里下载哦 这个比较简单 入门学习 VMware和VirtualBox都可以导入 成功后如图 这里修改连接为NAT模式 然后就开始玩耍
  • Mybatis使用datetimepicker日期和时间插件查询时间范围

    使用说明 collectStartDate和setStartDate类型为Date 对应的创建时间在mysql中为varchar类型 一 下载和引入datetimepicker样式和js 二 页面代码 li li
  • ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 已解决

    今天用Navicat Premium 连接 Oracle时报错了 报错信息 ORA 12514 TNS listener does not currently know of service requested in connect des
  • linux压缩文件夹命令 tar_每天一个Linux系统命令|tar

    名称 tar命令是Linux系统下最常用的打包命令 它不但可以对文件或者文件夹打包 还可以打包的时候同时压缩文件 用法描述 tar 选项 目标文件 源文件 压缩 tar 选项 压缩文件 解压 选项描述 如下是该命令的一些选项 按照使用频率进
  • 从零开始开发自己的类keras深度学习框架7:简易版word2vec

    认真学习 佛系更博 前面几章基本介绍了全连接神经网络和卷积神经网络的原理已经开发过程 本章开始将写一些自然语言处理相关的知识 当然 自然处理领域的知识点比图像处理的要复杂 抽象 可能要花更多时间来研究 首先 我们来了解一下word2vec
  • 基于协同过滤推荐+余弦相似度算法实现新闻推荐系统

    针对海量的新闻资讯数据 如何快速的根据用户的检索需要 完成符合用户阅读需求的新闻资讯推荐 本篇文章主要采用余弦相似度及基于用户协同过滤算法实现新闻推荐 通过余弦相似度算法完成针对不同新闻数据之间的相似性计算 实现分类标签 通过协同过滤算法发
  • CLIP视觉编码器

    VisionTransformer conv1 Conv2d 3 768 kernel size 16 16 stride 16 16 bias False ln pre LayerNorm 768 eps 1e 05 elementwis
  • 使用docker在基础镜像上集成tomcat

    当我们对基础镜像版本和tomcat版本有要求时 可以尝试自己集成所需的镜像 不必每次都去拉取其他人提供的镜像 然后在此基础镜像上部署自己的应用 目标版本 基础镜像版本 ubuntu 16 04 JDK版本 jdk1 8 0 191 tomc