构建基于Tomcat 9.0.106和JDK 8的Docker镜像
使用 Tomcat 自带的默认 ROOT 应用(包含 Tomcat 默认页面)
主要变更说明:
合并了apt-get update操作:将基础工具安装和wkhtmltopdf安装的apt-get update合并,减少镜像层数
添加了wkhtmltopdf安装步骤:
下载官方0.12.6版本的deb包
安装deb包
创建必要的符号链接
添加了验证命令
保留了原有结构:JDK和Tomcat的安装方式保持不变
FROM ubuntu:20.04
ENV JAVA_HOME /usr/local/jdk1.8.0_441
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
# 安装基础工具和wkhtmltopdf依赖
RUN apt-get update && \
apt-get install -y wget xfonts-75dpi xfonts-base libjpeg-turbo8 fontconfig && \
rm -rf /var/lib/apt/lists/*
# 安装JDK
COPY jdk-8u441-linux-x64.tar.gz /tmp/
RUN tar -xzf /tmp/jdk-8u441-linux-x64.tar.gz -C /usr/local/ && \
rm /tmp/jdk-8u441-linux-x64.tar.gz
# 安装Tomcat
RUN wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.106/bin/apache-tomcat-9.0.106.tar.gz && \
tar -xzf apache-tomcat-9.0.106.tar.gz -C /usr/local/ && \
mv /usr/local/apache-tomcat-9.0.106 /usr/local/tomcat && \
rm apache-tomcat-9.0.106.tar.gz
# 安装wkhtmltopdf
RUN apt-get update && \
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb && \
apt-get install -y ./wkhtmltox_0.12.6-1.focal_amd64.deb && \
rm wkhtmltox_0.12.6-1.focal_amd64.deb && \
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf && \
ln -s /usr/local/bin/wkhtmltoimage /usr/bin/wkhtmltoimage && \
rm -rf /var/lib/apt/lists/*
# 验证安装
RUN wkhtmltopdf --version
EXPOSE 8080
CMD ["catalina.sh", "run"]
第一版
FROM ubuntu:20.04
ENV JAVA_HOME /usr/local/jdk1.8.0_441
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
RUN apt-get update && \
apt-get install -y wget && \
rm -rf /var/lib/apt/lists/*
COPY jdk-8u441-linux-x64.tar.gz /tmp/
RUN tar -xzf /tmp/jdk-8u441-linux-x64.tar.gz -C /usr/local/ && \
rm /tmp/jdk-8u441-linux-x64.tar.gz
RUN wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.106/bin/apache-tomcat-9.0.106.tar.gz && \
tar -xzf apache-tomcat-9.0.106.tar.gz -C /usr/local/ && \
mv /usr/local/apache-tomcat-9.0.106 /usr/local/tomcat && \
rm apache-tomcat-9.0.106.tar.gz
EXPOSE 8080
CMD ["catalina.sh", "run"]
评论 (0)