设置 ThingWorx Docker 构建
要构建 ThingWorx Docker 镜像,请执行以下两项操作:
请确保已暂存所需的二进制文件,并可用于构建进程。
以适当的值修改 build.env 变量文件。
* 
在本主题中,<n-n-n> 用于将发行版本表示为 <major-minor-maintenance>
必需文件
构建 ThingWorx Docker 时需要以下文件。有关如何获取这些文件的详细信息,请参阅该主题的 暂存文件 部分。有关 Apache Tomcat 和 Java 与当前 ThingWorx 版本的兼容性信息,请检出 Release Advisor
适用于所有平台版本的必需文件:
平台
必需文件
示例文件
template-processor
由 PTC 提供的一种工具,用于在 Docker 容器内解析模板,以便根据运行环境来提供变量和格式配置文件。
template-processor-12.0.0.9-application.tar.gz
tomcat
从 Apache 获取的 Tomcat 存档文件,用于运行 ThingWorx Platform。
tomcat-9.x.x.tar.gz
java
从 Amazon Web Services 获取的 OpenJDK - Amazon Corretto 文件或从 Oracle 获取的 Java JDK 11 存档文件。
amazon-corretto-11.x.x-linux-x64.tar.gz
jdk-11.x.x-linux-x64_bin.tar.gz
单个平台版本所需的存档文件:
* 
如果从 PTC 支持站点下载文件,则下载的文件的名称将类似于 MED-12345-CD-084_ThingWorx-Platform-Postgres-8-4-0.zip。脚本假定 Thingworx-Platform-type-version.zip
平台
示例文件
ThingWorx Platform PostgreSQL
Thingworx-Platform-Postgres-<n-n-n>.zip
ThingWorx Platform Microsoft SQL Server
Thingworx-Platform-Mssql-<n-n-n>.zip
此版本还需要 Microsoft 提供的 Microsoft JDBC Driver for SQL Server。
sqljdbc_7.4.1.0_enu.tar.gz
ThingWorx Platform Azure SQL
Thingworx-Platform-Azuresql-<n-n-n>.zip
此版本还需要 Microsoft 提供的 Microsoft JDBC Driver for SQL Server。
sqljdbc_7.4.1.0_enu.tar.gz
build.env 变量
build.env 文件包含必须设置的变量列表。必须设置以下变量:
变量名称
默认值
备注
BASE_IMAGE
1. ThingWorx 9.0 到 9.3
2. ThingWorx 9.4 及更高版本
1. ubuntu:20.04
2. ubuntu:22.04
指定要用作基本映像的 Ubuntu 版本。
JAVA_VERSION
11.0.10.9.1
指定 Amazon Coretto OpenJDK 的版本。
JAVA_ARCHIVE
amazon-corretto-11.0.10.9.1-linux-x64.tar.gz
jdk-11.0.10_linux-x64.tar.gz
指定 staging 文件夹中 Java 存档文件的名称。
TOMCAT_VERSION
9.0.43
指定 Apache Tomcat 版本。
TEMPLATE_PROCESSOR_VERSION
12.1.0.13
指定 staging 文件夹中 template-processor 存档文件的版本。
PLATFORM_SETTINGS_FILE
platform-settings.json
指定基础 ThingWorx 设置文件的路径 (包括在 staging 文件夹中)。
BUILD_TEST_DBS
true
确定是否要构建用于测试的数据库映像以及平台映像。设置为 true 以构建数据库映像。
PLATFORM_POSTGRES_VERSION
<n-n-n>
指定要构建的 ThingWorx PostgreSQL Platform 版本。仅在构建 PostgreSQL 容器时才需要。
PLATFORM_POSTGRES_ARCHIVE
Thingworx-Platform-Postgres-<n-n-n>.zip
指定 staging 文件夹中 ThingWorx PostgreSQL .zip 文件的文件名。仅在构建 PostgreSQL 容器时才需要。
PLATFORM_MSSQL_VERSION
<n-n-n>
指定要构建的 ThingWorx Microsoft SQL Server Platform 版本。仅在构建 Microsoft SQL Server 容器时才需要。
PLATFORM_MSSQL_ARCHIVE
Thingworx-Platform-Mssql-<n-n-n>.zip
指定 staging 文件夹中 ThingWorx Microsoft SQL Server .zip 文件的文件名。仅在构建 Microsoft SQL Server 容器时才需要。
SQLDRIVER_VERSION
7.4.1.0
指定要安装的 Microsoft JDBC Driver for SQL Server 版本。仅在构建 Microsoft SQL Server 容器时才需要。
PLATFORM_AZURESQL_VERSION
<n-n-n>
指定要构建的 ThingWorx Azure SQL Platform 版本。仅在构建 Azure SQL 容器时才需要。
PLATFORM_AZURESQL_ARCHIVE
Thingworx-Platform-Azuresql-<n-n-n>.zip
指定 staging 文件夹中 ThingWorx Azure SQL Server .zip 文件的文件名。仅在构建 Azure SQL 容器时才需要。
AZURESQL_SQLDRIVER_VERSION
7.4.1.0
指定要安装的 Microsoft JDBC Driver for Azure SQL 版本。仅在构建 Azure SQL 容器时才需要。
仅当默认值与 staging 文件夹中的文件不匹配时,才必须设置以下变量:
变量名称
默认值
备注
TOMCAT_ARCHIVE
tomcat-${TOMCAT_VERSION}.tar.gz
指定 staging 文件夹中 Tomcat 存档文件的名称。
JAVA_ARCHIVE
${JAVA_VERSION}-linux-x64.tar.gz
指定 staging 文件夹中 Java 存档文件的名称。
SQLDRIVER_ARCHIVE
sqljdbc_${SQLDRIVER_VERSION}_enu.tar.gz
指定 staging 文件夹中 Microsoft JDBC Driver for SQL Server 存档文件的名称。仅在构建 Microsoft SQL Server 容器时才需要。
AZURESQL_SQLDRIVER_ARCHIVE
sqljdbc_${AZURESQL_SQLDRIVER_VERSION}_enu.tar.gz
staging 文件夹中指定 Microsoft SQL JDBC 存档文件的名称。仅在构建 Azure SQL 容器时才需要。
TEMPLATE_PROCESSOR_ARCHIVE
template-processor-${TEMPLATE_PROCESSOR_VERSION}-application.tar.gz
指定 staging 文件夹中 template-processor 存档文件的名称。
SECURITY_TOOL_ARCHIVE
security-common-cli-${SECURITY_TOOL_VERSION}-application.tar.gz
staging 文件夹中指定安全工具存档文件的名称。
暂存文件
必须将用于构建 Docker 镜像所需的文件放在此版本的 staging 文件夹中。staging 文件夹应已包含基础 platform-settings.json 文件。
为协助暂存,Apache Tomcat 和已配置的 Microsoft JDBC Driver for SQL Server 版本 (默认版本) 可以自动下载。
要实现自动下载:
1. 请确保已正确设置了 build.env 文件变量。
2. 运行命令 ./build.sh stage
如果没有错误,则文件应位于 staging 文件夹中,并应与 build.env 设置相匹配。
可以通过以下方式获取其他所需文件:
Java
从以下任意位置下载受支持的 Java 11 版本:
Amazon Corretto 11 的下载:下载 Linux x64 tar.gz 文件 (例如:amazon-corretto-11.x.x-linux-x64.tar.gz)。
Java SE Development Kit 11 下载:下载 Linux x64 Compressed Archive tar.gz 文件 (例如:jdk-11.x.x-linux-x64_bin.tar.gz)。
从所需位置下载此文件后,并将其保存在 staging 文件夹中,并确保 build.env 文件中的 JAVA_VERSIONJAVA_ARCHIVE 变量正确。
ThingWorx Platform 存档文件
通过包含此 Dockerfile 版本的 PTC 软件下载站点的相应 ThingWorx Platform 部分下载 ThingWorx Platform 存档文件。请确保使用的 ThingWorx 版本与 Dockerfiles 集合的版本相同,因为可能存在差异。示例文件:Thingworx-Platform-Postgres-<n-n-n>.zip
将此文件保存在 staging 文件夹中,并确保 build.env 文件中拥有正确的 PLATFORM_TYPE_VERSIONPLATFORM_TYPE_ARCHIVE 变量。
Template Processor 存档文件
默认情况下,template-processor 工具包括在 staging 文件夹中,并应自动包括在 Docker 构建中。请确保 build.env 文件中的 TEMPLATE_PROCESSOR_VERSIONTEMPLATE_PROCESSOR_ARCHIVE 设置正确。
安全工具存档
security-tool 程序包含在 staging 文件夹中,并应自动包含在 Docker 构建中。请确保 staging 中的版本和存档文件名称与您的 build.env 设置相匹配。
Tomcat 存档文件
Tomcat 9 软件下载网站下载 Apache Tomcat。选择下载“核心”版本,然后选择 tar.gz。示例文件:tomcat-9.0.35.tar.gz
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 TOMCAT_VERSIONTOMCAT_ARCHIVE 变量正确。请注意,除非在 build.env 中进行了更改,否则,默认的预期名称为 tomcat-version.tar.gz
Microsoft JDBC Driver for SQL Server
从 Microsoft 的 Java 和 JDBC 规范支持下载 Microsoft JDBC Driver。通过 Release Advisor 确定兼容的 JDBC Driver 版本后,从所显示的版本下载该版本。从 For the driver in a tar.gz file: 所显示的选项内,选择 English (United States) 版本 (因为文件结构与备用语言不同)。已下载 sqljdbc_<version>_enu.tar.gz 文件。
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 SQLDRIVER_VERSIONSQLDRIVER_ARCHIVE 变量正确。
Microsoft JDBC Driver for Azure SQL
从 Microsoft 的 Java 和 JDBC 规范支持下载 Microsoft JDBC Driver。通过 Release Advisor 确定兼容的 JDBC Driver 版本后,从所显示的版本下载该版本。从 For the driver in a tar.gz file: 所显示的选项内,选择 English (United States) 版本 (因为文件结构与备用语言不同)。已下载 sqljdbc_<version>_enu.tar.gz 文件。
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 AZURE_SQLDRIVER_VERSIONAZURE_SQLDRIVER_ARCHIVE 变量正确。
这对您有帮助吗?