# Tomcat-docker **Repository Path**: TPC_GrownDragon/Tomcat-docker ## Basic Information - **Project Name**: Tomcat-docker - **Description**: 基于 Windows 的 Tomcat 容器映像 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-01-14 - **Last Updated**: 2021-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README --- toc: depth_from: 2 depth_to: 6 ordered: false --- 基于 Windows 的 Tomcat 容器映像 =============================== [TOC] ## 运行环境需求 - Windows 10 1809 / Windows Server 2019 - Docker CE 2+ - Nano Server 1809 / Core Server 1809 ## 前提条件 在构建映像前,必须在映像的主机上手动拉取以下映像(当然也可以忽略,让生成脚本自动进行拉取) - mcr.microsoft.com/windows/servercore - hqywork/zulu-jdk8:1.0-8.46.0.19-ca-jdk8.0.252 ## 使用映像 ### 拉取映像 ```ps1 docker pull hqywork/tomcat-zulu-jdk8 ``` ### 生成容器 这里特别提供了 [`run.ps1`](./src/run.ps1) 脚本来辅助生成容器。 ```ps1 .\run.ps1 -ImageName hqywork/tomcat-zulu-jdk8 [-ContainerName ] ``` - `-ImageName` 参数指定了用来创建容器的映像。 - `-ContainerName` 是一个可选参数,用于指定生成容器的名称。如果未提供则使用 "`Tomcat-Service`" 作为生成容器的名称。 在这个脚本中指定了容器所需要挂载的存储(默认将挂载 `D:\Tomcat` 目录)、需映射的网络端口(`8080:8080`)以及资源限制(`4GB` 内存)等,您可以根据实际需要对脚本中的内容进行修改。 ### 容器内环境说明 - Zulu Community JDK 容器内部署了 Zulu Community JDK,位于 "`C:\ZuluJDK`"。并且我们已将环境变量 `JAVA_HOME` 指向该路径,将 "`%JAVA_HOME%\bin`" 注册到了环境变量 `PATH` 中。 - Apache Tomcat 我们在将 Apache Tomcat 部署在了容器内的 "`C:\Tomcat`"。并且定义了 `TOMCAT_HOME` 环境变量指向了该路径。 除此之外,通过卷挂载将容器内的以下路径进行了映射: | 容器内路径 | 实际挂载的路径 | | ------------------------ | --------------------------- | | `%TOMCAT_HOME%\conf` | `$MountVolumeRoot\conf` | | `%TOMCAT_HOME%\logs` | `$MountVolumeRoot\logs` | | `%TOMCAT_HOME%\webapps` | `$MountVolumeRoot\webapps` | | `%TOMCAT_HOME%\work` | `$MountVolumeRoot\work` | | `%TOMCAT_HOME%\appdatas` | `$MountVolumeRoot\appdatas` | *注:$MountVolumeRoot 变量是在 `run.ps1` 中指定的存储挂载路径,默认是 `D:\Tomcat`。* > **注意,这里大多数路径是 Tomcat 本身提供的,仅有 `%TOMCAT_HOME%\appdatas` 是特别为应用程序在运行期间生成的数据而准备。** ## 映像的生成 > 使用 `Git` 工具将本存储库最新内容克隆到容器服务器,并使用 `powershell`(需管理员权限)逐一完成下步骤: 您可以运行脚本 ['build.ps1'](./src/build.ps1) 来生成映像。 - 语法 ```ps1 .\build.ps1 -Environment ``` - 参数说明 **Environment** 指定执行该脚本的环境,用于选择下载源,缺省值为 "WWW"。 可选值及其含义:"WWW" - 从互联网直接下载,"ENT" - 从企业环境下载,"HOME" - 从家中环境下载。 ## 更新历史 当前版本:v1.0-8.5.55。 请查看[发布说明](./release-notes.md)。