使用 Rocky Linux 8.9 作为基础镜像
FROM rockylinux/rockylinux:8.9
设置环境变量以避免在安装过程中出现交互式提示
ENV JAVA_VERSION 8u301
ENV TOMCAT_VERSION 9.0.87
添加用户和组
RUN groupadd -r tomcat && useradd -r -g tomcat -d /opt/tomcat -s /sbin/nologin tomcat
安装必要的软件包
RUN yum -y update; yum clean all
&& yum -y install tar which && yum clean all
下载并解压 JDK
COPY jdk-8u301-linux-x64.tar.gz /opt/
RUN tar -xzf /opt/jdk-8u301-linux-x64.tar.gz -C /opt &&
mv /opt/jdk1.8.0_301 /opt/jdk &&
rm /opt/jdk-8u301-linux-x64.tar.gz
设置 JAVA_HOME 环境变量
ENV JAVA_HOME /opt/jdk
下载并解压 Tomcat
COPY apache-tomcat-9.0.87.tar.gz /opt/
RUN tar -xzf /opt/apache-tomcat-9.0.87.tar.gz -C /opt &&
mv /opt/apache-tomcat-9.0.87 /opt/tomcat &&
rm /opt/apache-tomcat-9.0.87.tar.gz
设置 CATALINA_HOME 和 CATALINA_BASE 环境变量
ENV CATALINA_HOME /opt/tomcat
ENV CATALINA_BASE /opt/tomcat
更新 PATH 环境变量
ENV PATH CATALINA_HOME/bin:$PATH
更改 Tomcat 目录的所有权为 tomcat 用户
RUN chown -R tomcat:tomcat /opt/tomcat
暴露 Tomcat 默认端口 8080
EXPOSE 8080
设置工作目录为 Tomcat 目录
WORKDIR $CATALINA_HOME
切换到 tomcat 用户
USER tomcat
设置容器启动时执行的命令
CMD ["catalina.sh", "run"]
网友评论