首页 > 其他分享 >docker制作tomcat镜像方法

docker制作tomcat镜像方法

时间:2024-09-05 14:54:00浏览次数:15  
标签:opt tar tomcat apache 镜像 docker 9.0 93

docker制作tomcat镜像方法

【说明】

制作tomcat镜像,需要在官网下载tomcat binary压缩包。
tomcat官网:https://tomcat.apache.org/download-90.cgi

【配置方法】

  1. 新建一个/opt/tomcat/目录,将下载tomcat与jdk安装包上传并解压缩:
# mkdir -p  /opt/tomcat;   cd  /opt/tomcat
#ls 
apache-tomcat-9.0.93.tar.gz     jdk-8u144-linux-x64.tar.gz   Kylin-Server-V10-SP3-2403-Release-Docker-init-20240426-X86_64.tar.xz
# tar -zxvf  apache-tomcat-9.0.93.tar.gz
# tar -zxvf  jdk-8u144-linux-x64.tar.gz
  1. 提供制作镜像的base镜像,此次使用Kylin-Server-V10-SP3-2403-Release-Docker-init-20240426-X86_64.tar.xz
# docker load  -i  Kylin-Server-V10-SP3-2403-Release-Docker-init-20240426-X86_64.tar.xz
# docker images
[root@localhost tomcat]# docker images
REPOSITORY                                                                        TAG                 IMAGE ID            CREATED             SIZE
cr.kylinos.cn/v10sp3-2403/kylin-server-v10-sp3-2403-general-alpha20-x86_64-init   202405              6bd24f9f88c3        3 months ago        246MB
  1. 在当前目录下创建一个Dockerfile文件
# vim Dockfile
FROM cr.kylinos.cn/v10sp3-2403/kylin-server-v10-sp3-2403-general-alpha20-x86_64-init:202405

MAINTAINER xiongle

LABEL description="This is tomcat9.0.93 image" \
      Tomcat.Version="9.0.93" \
      OS.Version="Kylin-Server-V10-SP3-2403" \
      JDK.Version="OpenJDK Runtime Environment (Alibaba Dragonwell 8.7.7) (build 1.8.0_292-b01)" \
      mail="[email protected]"

ADD jdk-8u144-linux-x64.tar.gz  /opt/
ADD apache-tomcat-9.0.93.tar.gz /opt/

ENV JAVA_HOME /opt/jdk1.8.0_144
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /opt/apache-tomcat-9.0.93
ENV CATALINA_BASE /opt/apache-tomcat-9.0.93
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

RUN chmod +x /opt/apache-tomcat-9.0.93/bin/catalina.sh

EXPOSE 8080

CMD /opt/apache-tomcat-9.0.93/bin/catalina.sh run
  1. 通过docker build构建镜像
# docker build  -t  tomcat:9.0.93  .
  1. 运行容器
# docker images
REPOSITORY                                                                        TAG                 IMAGE ID            CREATED             SIZE
tomcat                                                                            9.0.93              3468b888f5b1        2 hours ago         639MB
cr.kylinos.cn/v10sp3-2403/kylin-server-v10-sp3-2403-general-alpha20-x86_64-init   202405              6bd24f9f88c3        3 months ago        246MB

# docker run -d  --name test1  -p 8060:8080   tomcat:9.0.93

# docker logs test1
Using CATALINA_BASE:   /opt/apache-tomcat-9.0.93
Using CATALINA_HOME:   /opt/apache-tomcat-9.0.93
Using CATALINA_TMPDIR: /opt/apache-tomcat-9.0.93/temp
Using JRE_HOME:        /opt/jdk1.8.0_144
Using CLASSPATH:       /opt/apache-tomcat-9.0.93/bin/bootstrap.jar:/opt/apache-tomcat-9.0.93/bin/tomcat-juli.jar
Using CATALINA_OPTS:
02-Sep-2024 15:20:22.501 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.93
02-Sep-2024 15:20:22.503 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Aug 2 2024 21:24:59 UTC
02-Sep-2024 15:20:22.504 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.93.0
02-Sep-2024 15:20:22.504 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
02-Sep-2024 15:20:22.504 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.19.90-52.22.v2207.ky10.x86_64

# docker  ps  -a 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
40e062400da6        tomcat:9.0.93       "/bin/sh -c '/opt/ap…"   2 hours ago         Up 2 hours          0.0.0.0:8060->8080/tcp   test1

# curl  localhost:8060
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/9.0.93</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <div id="wrapper">
            <div id="navigation" class="curved container">
                <span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>
                <span id="nav-hosts"><a href="/docs/">Documentation</a></span>
                <span id="nav-config"><a href="/docs/config/">Configuration</a></span>
                <span id="nav-examples"><a href="/examples/">Examples</a></span>
                <span id="nav-wiki"><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Wiki</a></span>
                <span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span>
                <span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span>
                <br class="separator" />
            </div>
            <div id="asf-box">
                <h1>Apache Tomcat/9.0.93</h1>
            </div>
            <div id="upper" class="curved container">
                <div id="congrats" class="curved container">
                    <h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
                </div>

【异常处理】

问题1:/opt/apache-tomact-9.0.50/bin/catalina.sh: permission denied.

解决方案:程序没权限执行catalina.sh脚本。在Dockerfile中新增一行:RUN chmod +x /opt/apache-tomcat-9.0.93/bin/catalina.sh

问题2:Error: Could not find or load main class org.apache.catalina.startup.Bootstrap

解决方案:构建镜像用的tomcat.tar.gz是src源码包,需要使用binary包。

标签:opt,tar,tomcat,apache,镜像,docker,9.0,93
From: https://blog.csdn.net/weixin_43948680/article/details/141929860

相关文章

  • 云服务器+docker:还在为项目上线苦恼?一文包你解决(保姆级教程,图文并茂,万字起步!!!)
    目录Blue留言机:学习视频以及参考资料 :1、学习之前的必备操作:第一步:购买服务器选择一台免费的云服务器(包白嫖的)配置服务器的一点说明:查看自己是否购买成功:第一种查看方式:第二种查看方式:第二步:对服务器配置做点更改第三步:下载xshell第四步:使用xshell第五步:下载XFT......
  • Centos 安装 Docker
    文章目录卸载旧版Docker(如果之前装过Docker的话)配置Docker的yum库和源sudu安装Docker启动和校验配置镜像加速卸载旧版Docker(如果之前装过Docker的话)yumremovedocker\docker-client\docker-client-latest\docker-common\docker-l......
  • Docker 部署 Redis (图文并茂超详细)
    部署Redis(Docker)[Step1]:拉取Redis镜像,推荐使用7的Redis版本dockerpullredis:7.0.12[Step2]:创建Redis相关目录➡️启动Redis容器➡️拷贝文件➡️授权文件夹➡️删除容器#创建Redis相关目录mkdir-p/data/redis/{conf,data,log}t......
  • Docker 配置国内镜像源
    由于GFW的原因,在下载镜像的时候,经常会出现下载失败的情况,此时就可以使用国内的镜像源。什么是镜像源:简单来说就是某个组织(学校、公司、甚至是个人)先通过某种手段将国外的镜像下载下来,然后上传到国内的网站,这样我们在国内就可以通过这个网站下载到镜像源‍起因笔者有一次在......
  • Docker部署SVN服务器并使用:从基础到高级
    目录引言Docker部署SVN服务器SVN基础使用SVN高级使用最佳实践和注意事项结语1.引言Subversion(SVN)是一个开源的版本控制系统,广泛用于管理和追踪软件项目的源代码。本文将详细介绍如何使用Docker快速部署SVN服务器,以及SVN的基础和高级使用方法。无论你是SVN......
  • ansible使用docker模块构建镜像
    目录Docker的Ansible自动化应用解决国内无法下载镜像问题Dockerfile文件构建镜像运行容器使用Ansible创建和管理容器Docker的Ansible自动化应用解决国内无法下载镜像问题国内的服务器无法正常下载仓库的镜像了,只能到其他地区下载,再推送到阿里的镜像,再下载原来阿里的镜像构......
  • 【云原生•容器】Docker架构剖析,它还是从前那个Docker吗?(上)
    【云原生•容器】Docker架构剖析,它还是从前那个Docker吗?Docker架构Docker采用client/server架构,客户端向服务器发送请求,服务器负责构建、运行和分发容器:Docker架构说明:我们日常使用各种docker命令,如dockerrun、dockerpull等,其实就是在使用Docker客户端(DockerCLI);客户端将用户输......
  • 在本地通过Docker安装RocketMQ
    拉取镜像&部署这里选用foxiswho/rocketmq:server-4.5.1版本,在官方镜像没出来前,foxiswho是一个比较靠谱的第三方镜像。执行下面的命令直接启动NameServer。dockerrun-d-p9876:9876--namermqnamesrvfoxiswho/rocketmq:server-4.5.1接下来执行下面的命令启动Broker,......
  • 如何使用Docker Compose运行Nexus并将本地仓库管理工具发布至公网
    文章目录前言1.Docker安装Nexus2.本地访问Nexus3.Linux安装Cpolar4.配置Nexus界面公网地址5.远程访问Nexus界面6.固定Nexus公网地址7.固定地址访问Nexus前言本文主要介绍在Linux中使用Docker来一键部署NexusMaven私有仓库工具并结合Cpolar内网穿透实现远程......
  • Centos7.9安装Docker和Docker compose
    什么是docker环境Docker环境是指在计算机中安装和配置了Docker引擎的运行环境。Docker是一种容器化平台,它提供了一种轻量级的虚拟化技术,能够将应用程序及其依赖项打包成一个独立的容器,以实现快速部署、可移植性和易于管理的优势。(Docker环境提供了一种方便、可移植和隔离的方式来......