# Nginx-Docker **Repository Path**: TPC_GrownDragon/Nginx-Docker ## Basic Information - **Project Name**: Nginx-Docker - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: cst/master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-02-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 基于 Windows 的 Tomcat 容器映像 =============================== ## 运行环境需求 - Docker 宿主操作系统:Windows 10 1809 / Windows Server 2019 - Docker CE 2+ / Docker EE 18.09+ - Docker 基础映像:Core Server 1809 ## 使用说明 使用 `Git` 工具将本存储库最新内容克隆到容器服务器,并使用 `powershell`(需管理员权限)逐一完成下步骤: - 生成映像 运行脚本 'build.ps1' 来生成映像。 * 语法 ```ps1 .\build.ps1 [-Environment [ENT|HOME|WWW] -BaseImage servercore:1809 -Revision [] [-Clear] ``` * 参数说明 **Environment** 指定执行该脚本的环境,用于选择下载源,缺省值为 "WWW"。 可选值及其含义:"WWW" - 从互联网直接下载,"ENT" - 从企业环境下载,"HOME" - 从家中环境下载。 **BaseImage** 指定 Docker 基础映像的名称及标签,默认为 "servercore:1809"。 **Revision** 指定基础映像的修订版本号,缺省为空字符串。 **Clear** 指定在映像生成后是否清理过程中产生的临时文件,缺省时将需要手工清理。 * **注:** 由于该映像生成过程中会根据不同的环境使用不同的基础映像,在 `"ENT"` 和 `"HOME"` 环境下会使用私有仓库中的基础映像,这需要您在执行该脚本前登录这些私有仓库。 - 创建容器 运行脚本 `run.ps1` 来创建并启动容器。 * 语法 ```ps1 .\run.ps1 -ImageName -DataFolder [-ContainerName -Port -AutoStart] ``` * 参数说明 **ImageName** 指定映像名称,一般格式如:REPOSITORY:TAG,必填参数。即为上一节中生成的映像名称。 **ContainerName** 指定将要创建的容器名称。缺省为 Nginx-Service。 **DataFolder** 指定将要映射到容器中用于 Nginx 数据文件及日志目录的本地文件夹路径。在容器第一次运行时将在此文件夹下生成 `"conf"`、`"logs"`、`"html"` 和 `"OwnerData"` 文件夹,其中 `"conf"`、`"logs"`、和 `"html"` 分别对应于 nginx 中的文件夹,用于部署和查看 nginx 应用;`"OwnerData"` 专用于应用自身生成数据的持久化。 上述四个文件夹与容器内文件夹映射关系如下: | 外部文件夹 | 容器内文件夹 | |------------------------------|------------------------| | <DataFolder>\conf | %NGINX_HOME%\conf | | <DataFolder>\logs | %NGINX_HOME%\logs | | <DataFolder>\html | %NGINX_HOME%\html | | <DataFolder>\OwnerData | %NGINX_HOME%\OwnerData | 另外,在此文件夹下还会生成 `"restart.ps1"`、`"start.ps1"` 和 `"stop.ps1"` 三个脚本文件,用于控制当前 Tomcat 容器的启动、停止和重新启动。 **Port** 指定 MySQL 侦听的网络端口。缺省为 80。 **AutoStart** 指定容器是否随系统启动而自动启动。缺省为 false。 ## 个性化定制 ### 自定义 Nginx 安装包的下载源 - 打开 `src\prepare.ps1` 文件 - 找到以下内容 ```ps1 $BASE_INFOS = @{ 'ENT' = 'http://package.cst.canic:8081/repository/SoftPackages/Nginx/nginx-{0}.zip'; 'HOME' = ''; 'WWW' = 'http://nginx.org/download/nginx-{0}.zip'; 'NGINX_VERSION' = '1.14.2'; 'REPO_NAME' = 'cst.canic/nginx'; 'IMAGE_VERSION' = '1.0.0' # 指定将要生成的映像版本号 } ``` - 根据不同环境对其中的 URL 进行修改即可。其中 `{0}` 将会在脚本执行时被版本号替代。