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 计划,核心变更如下:
更多详情见 Bitnami Secure Images 公告。
使用 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。
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 指标采集:
yamlmetrics: enabled: true
metrics.podMonitor.enabled=true 创建 PodMonitor 对象,集成 Prometheus Operator。前提:集群需已安装 Prometheus 或 Prometheus Operator。推荐使用 Bitnami Prometheus Helm Chart。
生产环境强烈建议使用不可变标签,避免镜像更新导致部署意外变更。Bitnami 会在主容器版本更新、重大变更或发现严重漏洞时发布新 Chart。
通过 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 容器(如日志采集器):
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 |
| 名称 | 描述 | 默认值 |
|---|---|---|
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 备份指南。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429