docker制作tomcat镜像方法

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="zhongjianjian@ceair.com"

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包。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值