本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache Tomcat 是一款开源 Web 服务器,专为托管和运行基于 Java 的 Web 应用程序设计。它轻量级且性能优异,适用于生产环境中的应用部署。Bitnami Helm Chart 提供了在 Kubernetes 集群上快速部署和管理 Apache Tomcat 的标准化方案,集成了持久化存储、安全配置、监控等企业级特性。
Apache Tomcat 官方概述
商标说明:本软件包由 Bitnami 打包,相关商标归各自公司所有,使用不意味着任何关联或背书。
helm 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:
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/tomcat
注意:需替换占位符
REGISTRY_NAME和REPOSITORY_NAME。Bitnami 官方仓库示例:REGISTRY_NAME=registry-1.docker.io,REPOSITORY_NAME=bitnamicharts。
helm list
生产环境需配置资源请求与限制,避免资源争抢。可通过 resources 参数直接定义,或使用 resourcesPreset 应用预设策略(不建议生产环境使用预设,需根据实际需求调整):
resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi
详情参考 Kubernetes 容器资源管理。
Bitnami Chart 在首次启动时配置凭证,后续更新需手动操作:
SECRET_NAME、USER、PASSWORD):kubectl create secret generic SECRET_NAME --from-literal=tomcat-username=USER --from-literal=tomcat-password=PASSWORD --dry-run -o yaml | kubectl apply -f -
启用 Prometheus 指标采集:
metrics: enabled: true
metrics.podMonitor.enabled=true 创建 PodMonitor 对象,集成 Prometheus Operator。前提:集群需已安装 Prometheus 或 Prometheus Operator。推荐使用 Bitnami Prometheus Helm Chart。
生产环境强烈建议使用不可变标签,避免镜像更新导致部署意外变更。Bitnami 会在主容器版本更新、重大变更或发现严重漏洞时发布新 Chart。
通过 image.repository 和 image.tag 参数指定镜像仓库和版本:
image: repository: docker.io/bitnami/tomcat tag: 10.1.18-debian-11-r10 # 示例版本
方式 1:直接定义
extraEnvVars: - name: LOG_LEVEL value: DEBUG
方式 2:通过 ConfigMap 或 Secret
extraEnvVarsCM: "my-configmap" # 现有 ConfigMap 名称 extraEnvVarsSecret: "my-secret" # 现有 Secret 名称
添加 Sidecar 容器(如日志采集器):
sidecars: - name: log-exporter image: busybox:latest command: ["tail", "-f", "/bitnami/tomcat/logs/catalina.out"] volumeMounts: - name: tomcat-data mountPath: /bitnami/tomcat
暴露 Sidecar 端口(如需):
service: extraPorts: - name: log-port port: 8081 targetPort: 8081
添加 Init 容器(如初始化配置):
initContainers: - 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:
persistence: enabled: true storageClass: "my-storage-class" size: 10Gi accessModes: - ReadWriteOnce
权限调整:默认通过 Kubernetes 安全上下文自动调整存储卷权限。若环境不支持,可启用 init 容器调整权限:
volumePermissions: 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 |
# 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"
部署命令:
helm install tomcat-prod oci://registry-1.docker.io/bitnamicharts/tomcat -f values-prod.yaml
docker 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429