
该Docker镜像由epicsoft LLC维护并保持更新。
基于官方https://hub.docker.com/_/tomcat%E9%95%9C%E5%83%8F%E6%9E%84%E5%BB%BA%EF%BC%8C%E5%8F%AF%E8%87%AA%E5%8A%A8%E5%B0%86Docker%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E4%BC%A0%E9%80%92%E7%BB%99%E5%BA%94%E7%94%A8%E3%80%82
Docker环境变量 Tomcat应用环境变量 - APP_DATABASE_NAME="exampleDatabaseName" - app.database.name=exampleDatabaseName - APP_CUSTOM_ENV1=Hello from Docker 1 - app.custom.env1=Hello from Docker 1 - APP_CUSTOM_ENV2="Hello from Docker 2" - app.custom.env2=Hello from Docker 2 - APP_CUSTOM_ENV3='Hello from Docker 3' - app.custom.env3=Hello from Docker 3 配置中使用示例:${app.database.name}
所有以APP_为前缀的环境变量都会传递给应用。这些环境变量可在应用或配置中使用。环境变量名称会转换为小写,并将下划线_替换为点.,例如APP_DATABASE_NAME在应用或配置中变为app.database.name。
配置中使用示例:${app.database.name}。
Docker环境变量中可使用单引号'和双引号",传递给应用时这些引号会被移除。
如果使用自定义setenv.sh文件且仍需保留Docker环境变量功能,需在自定义setenv.sh文件中添加以下行:
source $(dirname "$0")/dockerenv.sh
latest - 基于tomcat:latest,每周构建
11.0-jre21 - 基于tomcat:11.0-jre21,每周构建
10-jre21 - 基于tomcat:10-jre21,每周构建
10-jre17 - 基于tomcat:10-jre17,每周构建
10-jre11 - 基于tomcat:10-jre11,每周构建
9-jre21 - 基于tomcat:9-jre21,每周构建
9-jre17 - 基于tomcat:9-jre17,每周构建
9-jre11 - 基于tomcat:9-jre11,每周构建
9.0-jre11 - 基于tomcat:9.0-jre11,每周构建
所有版本与基础镜像版本对应。如需其他版本,可提出需求。
docker-compose.yml
yamlversion: '3.8' services: tomcat: image: epicsoft/tomcat:latest container_name: tomcat hostname: tomcat restart: unless-stopped environment: - APP_DATABASE_NAME="exampleDatabaseName" - APP_CUSTOM_ENV1=Hello from Docker 1 - APP_CUSTOM_ENV2="Hello from Docker 2" - APP_CUSTOM_ENV3='Hello from Docker 3' volumes: - /srv/tomcat/webapps:/usr/local/tomcat/webapps:rw - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro tmpfs: - /usr/local/tomcat/temp:exec,mode=777,uid=0,gid=0 networks: - tomcat ports: - "8080:8080" networks: tomcat: name: tomcat
Tomcat日志(已精简/行顺序可能不匹配)
logINFO [main] ...catalina...log Command line argument: -Dapp.database.name=exampleDatabaseName INFO [main] ...catalina...log Command line argument: -Dapp.custom.env1=Hello from Docker 1 INFO [main] ...catalina...log Command line argument: -Dapp.custom.env2=Hello from Docker 2 INFO [main] ...catalina...log Command line argument: -Dapp.custom.env3=Hello from Docker 3
setenv.sh使用示例docker-compose.yml(已精简)
ymlvolumes: - /srv/tomcat/setenv.sh:/usr/local/tomcat/bin/setenv.sh:ro
setenv.sh
bash#!/bin/bash # <自定义代码> #### 加载Docker环境变量 source $(dirname "$0")/dockerenv.sh
MIT许可证详见LICENSE
请注意,MIT许可证仅适用于epicsoft LLC创建的文件。其他软件可能采用其他许可证。
以下是 epicsoft/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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务