Apache Tomcat 是一款开源 Web 服务器,专为托管和运行基于 Java 的 Web 应用程序设计。它轻量级且性能优异,适用于生产环境中的应用部署。Bitnami Helm Chart 提供了在 Kubernetes 集群上快速部署和管理 Apache Tomcat 的标准化方案,集成了持久化存储、安全配置、监控等企业级特性。
Apache Tomcat 官方概述
商标说明:本软件包由 Bitnami 打包,相关商标归各自公司所有,使用不意味着任何关联或背书。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/tomcat
生产环境建议使用 VMware Tanzu Application Catalog(Bitnami 商业版目录)。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,核心变更如下:
更多详情见 https://github.com/bitnami/containers/issues/83267%E3%80%82
基本安装
使用 release 名称 my-release 安装 Chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/tomcat
注意:需替换占位符
REGISTRY_NAME和REPOSITORY_NAME。Bitnami 官方仓库示例:REGISTRY_NAME=registry-1.docker.io,REPOSITORY_NAME=bitnamicharts。
查看已安装 release
consolehelm list
资源请求与限制
生产环境需配置资源请求与限制,避免资源争抢。可通过 resources 参数直接定义,或使用 resourcesPreset 应用预设策略(不建议生产环境使用预设,需根据实际需求调整):
yamlresources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi
详情参考 Kubernetes 容器资源管理。
更新凭证
Bitnami Chart 在首次启动时配置凭证,后续更新需手动操作:
SECRET_NAME、USER、PASSWORD):shellkubectl create secret generic SECRET_NAME --from-literal=tomcat-username=USER --from-literal=tomcat-password=PASSWORD --dry-run -o yaml | kubectl apply -f -
Prometheus 监控集成
启用 Prometheus 指标采集:
yamlmetrics: enabled: true
metrics.podMonitor.enabled=true 创建 PodMonitor 对象,集成 Prometheus Operator。前提:集群需已安装 Prometheus 或 Prometheus Operator。推荐使用 https://github.com/bitnami/charts/tree/main/bitnami/prometheus%E3%80%82
滚动标签与不可变标签
生产环境强烈建议使用不可变标签,避免镜像更新导致部署意外变更。Bitnami 会在主容器版本更新、重大变更或发现严重漏洞时发布新 Chart。
使用不同 Tomcat 版本
通过 image.repository 和 image.tag 参数指定镜像仓库和版本:
yamlimage: repository: docker.io/bitnami/tomcat tag: 10.1.18-debian-11-r10 # 示例版本
添加额外环境变量
方式 1:直接定义
yamlextraEnvVars: - name: LOG_LEVEL value: DEBUG
方式 2:通过 ConfigMap 或 Secret
yamlextraEnvVarsCM: "my-configmap" # 现有 ConfigMap 名称 extraEnvVarsSecret: "my-secret" # 现有 Secret 名称
Sidecar 与 Init 容器
添加 Sidecar 容器(如日志采集器):
yamlsidecars: - name: log-exporter image: busybox:latest command: ["tail", "-f", "/bitnami/tomcat/logs/catalina.out"] volumeMounts: - name: tomcat-data mountPath: /bitnami/tomcat
暴露 Sidecar 端口(如需):
yamlservice: extraPorts: - name: log-port port: 8081 targetPort: 8081
添加 Init 容器(如初始化配置):
yamlinitContainers: - name: init-config image: busybox:latest command: ["sh", "-c", "echo 'custom config' > /bitnami/tomcat/conf/custom.conf"] volumeMounts: - name: tomcat-data mountPath: /bitnami/tomcat
持久化存储
Tomcat 数据和配置存储路径:/bitnami/tomcat(容器内)。
配置 PVC:
yamlpersistence: enabled: true storageClass: "my-storage-class" size: 10Gi accessModes: - ReadWriteOnce
权限调整:默认通过 Kubernetes 安全上下文自动调整存储卷权限。若环境不支持,可启用 init 容器调整权限:
yamlvolumePermissions: enabled: true
全局参数
| 名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥数组 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
通用参数
| 名称 | 描述 | 默认值 |
|---|---|---|
nameOverride | 部分覆盖资源名称模板 | "" |
fullnameOverride | 完全覆盖资源名称模板 | "" |
commonLabels | 所有资源的额外标签 | {} |
commonAnnotations | 所有资源的额外注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
Tomcat 核心参数
| 名称 | 描述 | 默认值 |
|---|---|---|
replicaCount | 副本数 | 1 |
deployment.type | 部署类型(deployment/statefulset) | deployment |
tomcatUsername | 管理员用户名 | user |
tomcatPassword | 管理员密码(为空时自动生成) | "" |
existingSecret | 现有凭证 Secret 名称(覆盖默认生成) | "" |
catalinaOpts | JVM 参数 | "" |
containerPorts.http | 容器 HTTP 端口 | 8080 |
image.registry | 镜像仓库 | docker.io |
image.repository | 镜像名称 | bitnami/tomcat |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
yaml# values-prod.yaml replicaCount: 3 image: tag: 10.1.18-debian-11-r10 # 不可变标签 persistence: enabled: true storageClass: "gp2" # AWS EBS 存储类示例 size: 20Gi resources: requests: cpu: 1000m memory: 1Gi limits: cpu: 2000m memory: 2Gi metrics: enabled: true podMonitor: enabled: true extraEnvVars: - name: CATALINA_OPTS value: "-Xms1g -Xmx2g"
部署命令:
consolehelm install tomcat-prod oci://registry-1.docker.io/bitnamicharts/tomcat -f values-prod.yaml
consoledocker run -d -p 8080:8080 --name tomcat bitnami/tomcat:latest
注意:开发环境使用,生产环境建议通过 Kubernetes 部署并采用 Bitnami Secure Images。
生产环境建议使用 Velero 进行备份与恢复:
详情参考 Velero 备份指南。
以下是 bitnamicharts/tomcat 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务