如何获取包含tomcat:9.0.55、jre8、alpine的docker镜像?
Tomcat 9.0.54/55 + JRE8 + Alpine 镜像需求解决方案
关于直接升级旧镜像的可行性
不推荐拉取tomcat:9.0.8-jre8-alpine后直接升级Tomcat版本:
- Alpine官方apk源不会留存历史细分版本的Tomcat安装包,无法通过
apk upgrade命令精准升级到目标版本 - 手动替换Tomcat二进制文件需要额外处理启动脚本适配、权限配置、依赖兼容问题,容易引入未知运行故障,可控性远低于直接构建镜像
现成镜像查找说明
你可以在第三方公开镜像仓库检索符合版本要求的镜像,注意下载后优先校验镜像哈希、扫描安全漏洞,确认无风险后再投入使用。如果是生产/企业环境使用,更推荐自行构建镜像,保障版本和配置可控。
自行构建镜像的操作步骤
1. 准备构建文件
新建空目录,在目录下创建Dockerfile文件,内容如下:
# 基于官方JRE8 Alpine基础镜像 FROM openjdk:8-jre-alpine # 定义Tomcat版本,需要9.0.54的话修改此处变量值即可 ENV TOMCAT_VERSION=9.0.55 ENV CATALINA_HOME=/usr/local/tomcat ENV PATH=$CATALINA_HOME/bin:$PATH # 安装依赖、下载并解压Tomcat、清理冗余文件减小镜像体积 RUN set -eux \ && apk add --no-cache wget gnupg \ && wget -O tomcat.tar.gz "https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz" \ && mkdir -p "$CATALINA_HOME" \ && tar -xf tomcat.tar.gz --strip-components=1 -C "$CATALINA_HOME" \ && rm -rf tomcat.tar.gz $CATALINA_HOME/webapps/* $CATALINA_HOME/docs $CATALINA_HOME/examples \ && apk del wget gnupg # 暴露Tomcat默认端口 EXPOSE 8080 # 启动命令 CMD ["catalina.sh", "run"]
同目录下创建.dockerignore文件,避免多余文件被打入镜像:
* !Dockerfile
2. 执行构建
在目录下执行构建命令,可自行修改镜像名和标签:docker build -t tomcat:9.0.55-jre8-alpine .
3. 验证镜像
构建完成后执行以下命令,确认Java和Tomcat版本符合要求:
docker run --rm tomcat:9.0.55-jre8-alpine sh -c "java -version && catalina version"
内容的提问来源于stack exchange,提问作者Kari
相关产品推荐
相关产品推荐

