安装和配置 > 使用 ThingWorx Docker > 设置 ThingWorx Docker > 设置 ThingWorx Docker 构建
设置 ThingWorx Docker 构建
要构建 ThingWorx Docker 映像,请执行以下两项操作:
请确保已暂存所需的二进制文件,并可用于构建进程。
以适当的值修改 build.env 变量文件。
必需文件
构建 ThingWorx Docker 时需要以下文件。
适用于所有平台版本的必需文件:
平台
必需文件
示例文件
template-processor
由 PTC 提供的一种工具,用于在 Docker 容器内解析模板,以便根据运行环境来提供变量和格式配置文件。
template-processor-12.0.0.9-application.tar.gz
tomcat
从 Apache 获取的 Tomcat 存档文件,用于运行 ThingWorx Platform。
tomcat-9.0.21.tar.gz
java
从 Oracle 获取的 Java JDK (版本 8) 存档文件。
jdk-8u172-linux-x64.tar.gz
单个平台版本所需的存档文件:
平台
示例文件
ThingWorx Platform H2
Thingworx-Platform-H2-8.4.1-b2126.zip
ThingWorx Platform PostgreSQL
Thingworx-Platform-Postgres-8.4.1-b2126.zip
ThingWorx Platform Microsoft SQL Server
Thingworx-Platform-Mssql-8.4.1-b2126.zip
此版本还需要 Microsoft 提供的 Microsoft JDBC Driver for SQL Server。
sqljdbc_6.0.8112.200_enu.tar.gz
ThingWorx Platform Azure SQL
Thingworx-Platform-Azuresql-8.4.1-b2126.zip
此版本还需要 Microsoft 提供的 Microsoft JDBC Driver for SQL Server。
sqljdbc_6.0.8112.200_enu.tar.gz
* 
如果从 PTC 支持站点下载文件,则下载的文件将采用与 MED-12345-CD-084_ThingWorx-Platform-H2-8-4-0.zip 类似的格式命名。脚本假定 Thingworx-Platform-type-version.zip
build.env 变量
build.env 文件包含必须设置的变量列表。必须设置以下变量:
变量名称
默认值
备注
PLATFORM_VERSION
8.4.1–b2126
指定平台版本。
JAVA_VERSION
8u172
指定 Oracle Java JDK 版本。
TOMCAT_VERSION
9.0.21
指定 Apache Tomcat 版本。
TEMPLATE_PROCESSOR_VERSION
12.0.0.12
指定 staging 文件夹中 template-processor 存档文件的版本。
PLATFORM_SETTINGS_FILE
platform-settings.json
指定基础 ThingWorx 设置文件的路径 (包括在 staging 文件夹中)。
BUILD_TEST_DBS
true
确定是否要构建用于测试的数据库映像以及平台映像。设置为 true 以构建数据库映像。
PLATFORM_H2_VERSION
8.4.1-b2126
指定要构建的 ThingWorx H2 Platform 版本。仅在构建 H2 容器时才需要。
PLATFORM_H2_ARCHIVE
Thingworx-Platform-H2-8.4.1-b2126.zip
指定 staging 文件夹中 ThingWorx H2 .zip 文件的文件名。仅在构建 H2 容器时才需要。
PLATFORM_POSTGRES_VERSION
8.4.1-b2126
指定要构建的 ThingWorx PostgreSQL Platform 版本。仅在构建 PostgreSQL 容器时才需要。
PLATFORM_POSTGRES_ARCHIVE
Thingworx-Platform-Postgres-8.4.1-b2126.zip
指定 staging 文件夹中 ThingWorx PostgreSQL .zip 文件的文件名。仅在构建 PostgreSQL 容器时才需要。
PLATFORM_MSSQL_VERSION
8.4.1-b2126
指定要构建的 ThingWorx Microsoft SQL Server Platform 版本。仅在构建 Microsoft SQL Server 容器时才需要。
PLATFORM_MSSQL_ARCHIVE
Thingworx-Platform-Mssql-8.4.1-b2126.zip
指定 staging 文件夹中 ThingWorx Microsoft SQL Server .zip 文件的文件名。仅在构建 Microsoft SQL Server 容器时才需要。
SQLDRIVER_VERSION
6.0.8112.200
指定要安装的 Microsoft JDBC Driver for SQL Server 版本。仅在构建 Microsoft SQL Server 容器时才需要。
MSSQL_DB_TWX_DATABASE_PASSWORD
无默认值 - 必须手动设置
指定 Microsoft SQL Server 数据库用户的密码。如果启用了 BUILD_TEST_DBS 并且正在构建 Microsoft SQL Server 映像,则必须将其设置为可供映像构建进程使用。
请确保密码长度至少为 8 个字符,且其中必须包含以下四类字符中的三类字符:大写字母、小写字母、十进制数字和符号。
MSSQL_DB_TWX_DATABASE_USERNAME
无默认值 - 必须手动设置
指定 Microsoft SQL Server 数据库用户的用户名。如果启用了 BUILD_TEST_DBS 并且正在构建 Microsoft SQL Server 映像,则必须将其设置为可供映像构建进程使用。
MSSQL_DB_TWX_DATABASE_SCHEMA
无默认值 - 必须手动设置
将其指定为 Microsoft SQL Server 数据库的数据库架构。如果启用了 BUILD_TEST_DBS 并且正在构建 Microsoft SQL Server 映像,则必须将其设置为可供映像构建进程使用。
MSSQL_DB_SA_PASSWORD
无默认值 - 必须手动设置
指定 Microsoft SQL Server sa 用户的密码。如果启用了 BUILD_TEST_DBS 并且正在构建 Microsoft SQL Server 映像,则必须将其设置为可供映像构建进程使用。
请确保密码长度至少为 8 个字符,且其中必须包含以下四类字符中的三类字符:大写字母、小写字母、十进制数字和符号。
PLATFORM_AZURESQL_VERSION
8.4.1-b2126
指定要构建的 ThingWorx Azure SQL Platform 版本。仅在构建 Azure SQL 容器时才需要。
PLATFORM_AZURESQL_ARCHIVE
Thingworx-Platform-Azuresql-8.4.1-b2126.zip
指定 staging 文件夹中 ThingWorx Azure SQL Server .zip 文件的文件名。仅在构建 Azure SQL 容器时才需要。
AZURESQL_SQLDRIVER_VERSION
6.0.8112.200
指定要安装的 Microsoft JDBC Driver for Azure SQL 版本。仅在构建 Azure SQL 容器时才需要。
仅当默认值与 staging 文件夹中的文件不匹配时,才必须设置以下变量:
变量名称
默认值
备注
TOMCAT_ARCHIVE
tomcat-9.0.21.tar.gz
指定 staging 文件夹中 Tomcat 存档文件的名称。
JAVA_ARCHIVE
jdk-8u172-linux-x64.tar.gz
指定 staging 文件夹中 Java 存档文件的名称。
SQLDRIVER_ARCHIVE
sqljdbc_6.0.8112.200_enu.tar.gz
指定 staging 文件夹中 Microsoft JDBC Driver for SQL Server 存档文件的名称。仅在构建 Microsoft SQL Server 容器时才需要。
TEMPLATE_PROCESSOR_ARCHIVE
template-processor-12.0.0.10-application.tar.gz
指定 staging 文件夹中 template-processor 存档文件的名称。
暂存文件
必须将用于构建 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
由于要求接受 Oracle 的许可条款,因此需要通过 Oracle 手动下载 Java。可以访问 Java SE 开发工具包 8 下载页面进行下载。接受此页面上的许可协议后,下载 Linux x64 tar.gz 文件 (例如:jdk-8u172-linux-x64.tar.gz)。
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 JAVA_VERSIONJAVA_ARCHIVE 变量正确。
ThingWorx Platform 存档文件
通过包含此 Dockerfile 版本的 PTC 软件下载站点的相应 ThingWorx Platform 部分下载 ThingWorx Platform 存档文件。请确保使用的 ThingWorx 版本与 Dockerfiles 集合的版本相同,因为可能存在差异。示例文件:Thingworx-Platform-H2-8.4.1-b2126.zip
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 PLATFORM_TYPE_VERSIONPLATFORM_TYPE_ARCHIVE 变量正确。
Template Processor 存档文件
默认情况下,template-processor 工具包括在 staging 文件夹中,并应自动包括在 Docker 构建中。请确保 build.env 文件中的 TEMPLATE_PROCESSOR_VERSIONTEMPLATE_PROCESSOR_ARCHIVE 设置正确。
Tomcat 存档文件
如果无法自动下载 Tomcat,请直接在 Tomcat 9 软件下载站点通过 Apache 下载。选择下载“核心”版本,然后选择 tar.gz。示例文件:apache-tomcat-9.0.21.tar.gz
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 TOMCAT_VERSIONTOMCAT_ARCHIVE 变量正确。请注意,除非在 build.env 中进行了更改,否则,默认的预期名称为 tomcat-version.tar.gz
Microsoft JDBC Driver for SQL Server
如果无法自动下载 Microsoft JDBC Driver,或者希望使用备用版本,请直接在 Microsoft 的 Microsoft JDBC Driver 6.0 for SQL Server 中进行下载。选择“英语”版本 (因为文件结构与备用语言的不同)。在下一页面上,选择 sqljdbc_version_enu.tar.gz,然后单击“下一步”
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 SQLDRIVER_VERSIONSQLDRIVER_ARCHIVE 变量正确。
Microsoft JDBC Driver for Azure SQL
如果无法自动下载 Microsoft JDBC Driver,或者希望使用备用版本,请直接在 Microsoft 的 Microsoft JDBC Driver 6.0 for SQL Server 中进行下载。选择“英语”版本 (因为文件结构与备用语言的不同)。在下一页面上,选择 sqljdbc_version_enu.tar.gz,然后单击“下一步”
将此文件保存在 staging 文件夹中,并确保 build.env 文件中的 AZURE_SQLDRIVER_VERSIONAZURE_SQLDRIVER_ARCHIVE 变量正确。