
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache Tomcat 是一款开源Web服务器,用于托管和运行基于Java的Web应用程序。它是一款轻量级服务器,在生产环境中运行应用时性能表现良好。
[Apache Tomcat 概览]
商标说明:本软件包由Bitnami打包。所提及的商标分属各自公司所有,使用此类商标不意味着任何关联或背书。
consoledocker run --name tomcat docker.xuanyuan.run/bitnami/tomcat:latest
默认凭据和可用配置选项可在环境变量部分查看。
此镜像为Bitnami构建和维护的强化版最小漏洞(CVE)镜像。Bitnami安全镜像(BSI)基于云优化、安全强化的企业级操作系统[Photon Linux] 构建。选择BSI镜像的理由包括:
每个镜像均附带安全元数据,可在[公开目录] 中查看(部分数据需[BSI商业订阅] )。
如需基于Debian Linux的旧版镜像,请查看Bitnami Legacy仓库。
通过Helm Chart部署Bitnami应用是在Kubernetes上快速启动的最简单方式。安装详情参见[Bitnami Apache Tomcat Chart GitHub仓库] 。
非root容器增加了额外安全层,通常推荐用于生产环境。但由于容器以非root用户运行,特权任务通常受限。更多信息参见[非root容器文档] 。
了解Bitnami标签策略(滚动标签与固定标签的区别),参见[文档页面] 。
不同标签的对应关系可查看分支文件夹中的tags-info.yaml文件(如bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)。
可通过关注[bitnami/containers GitHub仓库] 获取项目更新。
获取Bitnami Apache Tomcat Docker镜像的推荐方式是从[Docker Hub仓库] 拉取预构建镜像。
consoledocker pull docker.xuanyuan.run/bitnami/tomcat:latest
如需指定版本,可拉取带版本标签的镜像。[可用版本列表] 可在Docker Hub查看。
consoledocker pull docker.xuanyuan.run/bitnami/tomcat:[TAG]
如需自定义构建,可克隆仓库并执行docker build命令(替换示例中的APP、VERSION和OPERATING-SYSTEM占位符):
consolegit clone [] bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
删除容器后,所有数据和配置将丢失,下次运行镜像时需重新初始化。为避免数据丢失,应挂载持久化卷(容器删除后仍保留)。
需将目录挂载到/bitnami路径。若挂载的目录为空,首次运行时会自动初始化。
consoledocker run -v /path/to/tomcat-persistence:/bitnami docker.xuanyuan.run/bitnami/tomcat:latest
修改仓库中的[docker-compose.yml] 文件:
yamlservices: tomcat: ... volumes: - /path/to/tomcat-persistence:/bitnami ...
注意:由于此为非root容器,挂载的文件和目录需对UID
1001有正确权限。
/bitnami/tomcat/data目录被配置为Apache Tomcat的webapps部署目录。可在此路径放置解压的Web应用(非压缩格式)或压缩的Web应用资源(.WAR文件),Tomcat会自动部署。
此外,容器中存在符号链接/app指向该部署目录,可通过以下命令在运行中的Tomcat实例上部署应用:
consoledocker cp /path/to/app.war tomcat:/app
如需构建包含WAR文件的自定义镜像,需将WAR文件添加到/opt/bitnami/tomcat/webapps目录。示例Dockerfile:
DockerfileFROM docker.xuanyuan.run/bitnami/tomcat:latest COPY sample.war /opt/bitnami/tomcat/webapps
补充说明:也可通过Apache Tomcat管理界面在运行中的实例上部署应用。
更多详情参见:[Apache Tomcat Web应用部署文档]
可让Docker将主机随机端口映射到容器的8080端口:
consoledocker run --name tomcat -P docker.xuanyuan.run/bitnami/tomcat:latest
执行docker port命令查看映射的随机端口:
console$ docker port tomcat 8080/tcp -> 0.0.0.0:32768
手动指定主机到容器的端口转发:
consoledocker run -p 8080:8080 docker.xuanyuan.run/bitnami/tomcat:latest
在浏览器中访问 `[] 即可打开服务器。
可自定义环境变量
| 名称 | 描述 | 默认值 |
|---|---|---|
TOMCAT_SHUTDOWN_PORT_NUMBER | Tomcat关闭端口号 | 8005 |
TOMCAT_HTTP_PORT_NUMBER | Tomcat HTTP端口号 | 8080 |
TOMCAT_AJP_PORT_NUMBER | Tomcat AJP端口号 | 8009 |
TOMCAT_USERNAME | Tomcat管理用户名 | manager |
TOMCAT_PASSWORD | Tomcat管理用户密码 | nil(未设置) |
TOMCAT_ALLOW_REMOTE_MANAGEMENT | 是否允许远程地址访问Tomcat管理应用 | yes |
TOMCAT_ENABLE_AUTH | 是否启用Tomcat管理应用的身份验证 | yes |
TOMCAT_ENABLE_AJP | 是否启用Tomcat AJP连接器 | no |
TOMCAT_START_RETRIES | 等待Catalina启动的重试次数 | 12 |
TOMCAT_EXTRA_JAVA_OPTS | Tomcat的额外Java配置参数 | nil(无) |
TOMCAT_INSTALL_DEFAULT_WEBAPPS | 是否部署默认Web应用(ROOT、manager、host-manager等) | yes |
JAVA_OPTS | Java运行时参数 | -Djava.awt.headless=true -XX:+UseG1GC -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -Duser.home=${TOMCAT_HOME} |
只读环境变量
| 名称 | 描述 | 值 |
|---|---|---|
TOMCAT_BASE_DIR | Tomcat安装目录 | ${BITNAMI_ROOT_DIR}/tomcat |
TOMCAT_VOLUME_DIR | Tomcat持久化目录 | /bitnami/tomcat |
TOMCAT_BIN_DIR | Tomcat二进制文件目录 | ${TOMCAT_BASE_DIR}/bin |
TOMCAT_LIB_DIR | Tomcat库文件目录 | ${TOMCAT_BASE_DIR}/lib |
TOMCAT_WORK_DIR | Tomcat运行时文件目录 | ${TOMCAT_BASE_DIR}/work |
TOMCAT_WEBAPPS_DIR | Web应用存储目录 | ${TOMCAT_VOLUME_DIR}/webapps |
TOMCAT_CONF_DIR | Tomcat配置目录 | ${TOMCAT_BASE_DIR}/conf |
TOMCAT_DEFAULT_CONF_DIR | Tomcat默认配置目录 | ${TOMCAT_BASE_DIR}/conf.default |
TOMCAT_CONF_FILE | Tomcat配置文件 | ${TOMCAT_CONF_DIR}/server.xml |
TOMCAT_USERS_CONF_FILE | Tomcat用户配置文件 | ${TOMCAT_CONF_DIR}/tomcat-users.xml |
TOMCAT_LOGS_DIR | Tomcat日志目录 | ${TOMCAT_BASE_DIR}/logs |
TOMCAT_TMP_DIR | Tomcat临时文件目录 | ${TOMCAT_BASE_DIR}/temp |
TOMCAT_LOG_FILE | Tomcat日志文件路径 | ${TOMCAT_LOGS_DIR}/catalina.out |
TOMCAT_PID_FILE | Tomcat进程ID文件路径 | ${TOMCAT_TMP_DIR}/catalina.pid |
TOMCAT_HOME | Tomcat主目录 | $TOMCAT_BASE_DIR |
TOMCAT_DAEMON_USER | Tomcat系统用户 | tomcat |
TOMCAT_DAEMON_GROUP | Tomcat系统用户组 | tomcat |
JAVA_HOME | Java安装目录 | ${BITNAMI_ROOT_DIR}/java |
创建自定义用户
默认会创建名为manager的管理用户,未设置密码。首次运行镜像时,通过TOMCAT_PASSWORD环境变量可设置该用户密码。
还可通过TOMCAT_USERNAME指定管理用户名。若未指定,TOMCAT_PASSWORD将应用于默认用户(manager)。
通过Docker Compose指定环境变量
修改仓库中的[docker-compose.yml] :
CODE_TOKEN_11
通过Docker命令行指定环境变量
CODE_TOKEN_12
容器初始化时,默认Tomcat配置文件会通过环境变量修改基础选项。如需添加更多自定义配置,可挂载自定义配置文件到/opt/bitnami/tomcat/conf/目录以覆盖默认文件(确保文件对容器系统用户可写)。
Docker命令方式
CODE_TOKEN_13
Docker Compose方式
CODE_TOKEN_14
完整配置选项参见[Apache Tomcat配置手册] 。
[Bitnami安全镜像] 目录中的Apache Tomcat Docker镜像支持FIPS配置,可通过以下环境变量设置:
OPENSSL_FIPS:是否启用OpenSSL FIPS模式,默认yes(启用),可选no(禁用)。Bitnami Apache Tomcat Docker镜像将容器日志输出到stdout,可通过以下命令查看:
CODE_TOKEN_15
CODE_TOKEN_16
如需自定义日志消费方式,可通过--log-driver选项配置[容器日志驱动] (默认使用json-file驱动)。
Bitnami会及时提供Apache Tomcat的更新版本(含安全补丁),建议按以下步骤升级容器:
步骤1:拉取更新的镜像
CODE_TOKEN_17
(使用Docker Compose时,将image属性更新为bitnami/tomcat:latest)
步骤2:停止并备份当前容器
停止容器:
CODE_TOKEN_18
(Docker Compose:docker-compose stop tomcat)
备份持久化卷(/path/to/tomcat-persistence):
CODE_TOKEN_19
步骤3:删除当前容器
CODE_TOKEN_20
(Docker Compose:docker-compose rm -v tomcat)
步骤4:运行新版本镜像
CODE_TOKEN_21
(Docker Compose:docker-compose up tomcat)
rootfs/目录中的Bash脚本。1001运行(此前容器以root运行,Tomcat以tomcat用户运行)。因此,数据目录需对该用户可写。可通过修改Dockerfile中USER 1001为USER root恢复root模式。TOMCAT_USER参数重命名为TOMCAT_USERNAME。/bitnami/tomcat,仅需挂载单个卷即可实现持久化。stdout,不再存储于卷中。docker-compose.yaml请注意,此文件未经过内部测试,建议仅用于开发或测试环境。生产环境部署强烈推荐使用其关联的[Bitnami Helm Chart] 。
如发现docker-compose.yaml问题,可按[贡献指南] 报告或修复。
欢迎通过[提交issue] 或[拉取请求] 参与容器改进(遵循贡献指南)。
如运行容器时遇到问题,可[提交issue] (建议填写issue模板以获得更好支持)。
Copyright © 2025 Broadcom。"Broadcom"指Broadcom Inc.及其子公司。
根据Apache License 2.0许可协议授权(详见[LICENSE] )。使用本文件需遵守许可协议,除非***要求或书面同意,软件按"原样"分发,不提供任何明示或暗示担保。
以下是 bitnami/tomcat 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务