設定 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
Tomcat 封存檔案從執行 ThingWorx Platform 的 Apache 取得。
tomcat-9.x.x.tar.gz
java
從 Amazon Web Services 取得的 OpenJDK - Amazon Coretto 檔案,或從 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-H2-8-4-0.zip 類似的命名。指令集採用 Thingworx-Platform-type-version.zip 格式。
平台
範例檔案
ThingWorx Platform H2
Thingworx-Platform-H2-<n-n-n>.zip
ThingWorx Platform PostgreSQL
Thingworx-Platform-Postgres-<n-n-n>.zip
ThingWorx Platform Microsoft SQL Server
Thingworx-Platform-Mssql-<n-n-n>.zip
此版本還需要 Microsoft SQL Server 的 Microsoft JDBC Driver。
sqljdbc_7.4.1.0_enu.tar.gz
ThingWorx Platform Azure SQL
Thingworx-Platform-Azuresql-<n-n-n>.zip
此版本還需要 Microsoft SQL Server 的 Microsoft JDBC Driver。
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 Corretto 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
指定 (包括在 staging 資料夾中的) 基礎 ThingWorx 設定檔案的路徑。
BUILD_TEST_DBS
true
決定是否要建構用於測試的資料庫映像,以及平台映像。設定為 true 以建構資料庫映像。
PLATFORM_H2_VERSION
<n-n-n>
指定要建構的 ThingWorx H2 Platform 的版本。僅建構 H2 容器時需要。
PLATFORM_H2_ARCHIVE
Thingworx-Platform-H2-<n-n-n>.zip
指定 staging 資料夾中 ThingWorx H2 .zip 檔案的檔案名稱。僅建構 H2 容器時需要。
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 版本:
Downloads for Amazon Corretto 11:下載 Linux x64 tar.gz 檔案 (例如:amazon-corretto-11.x.x-linux-x64.tar.gz)。
Java SE Development Kit 11 Downloads:下載 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 封存檔案。務必與 Dockerfiles 集合使用相同的 ThingWorx 版本,因為可能會有差異。範例檔案:Thingworx-Platform-H2-<n-n-n>.zip
將此檔案儲存在 staging 資料夾中,並確保 build.env 檔案中的 PLATFORM_TYPE_VERSIONPLATFORM_TYPE_ARCHIVE 變數正確。
範本處理器封存檔案
template-processor 工具依預設包括在 staging 資料夾中,應自動包括在 Docker 版次中。請確定 TEMPLATE_PROCESSOR_VERSIONTEMPLATE_PROCESSOR_ARCHIVE build.env 檔案設定正確。
安全性工具封存
security-tool 程式包括在 staging 資料夾中,應自動包括在 Docker 版次中。請確保 staging 中的版本與封存檔案名稱符合您的 build.env 設定。
Tomcat 封存檔案
從 Apache 的 Tomcat 9 軟體下載網站下載 Tomcat。選擇下載 Core 版本,然後選取 tar.gz。範例檔案:tomcat-9.0.35.tar.gz
將此檔案儲存在 staging 資料夾中,並確保 build.env 檔案中的 TOMCAT_VERSIONTOMCAT_ARCHIVE 變數正確。請注意預期預設名稱為 tomcat version.tar.gz,除非在 build.env 內進行了變更。
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 變數正確。
這是否有幫助?