oneidentity/oneim-appserver该镜像运行One Identity Manager应用服务器实例,启动时从配置的数据库下载必要文件,其行为可通过密钥值和环境变量控制。
所有标记为windows-amd64的镜像兼容Windows Server主机,请使用下方列表检查每个标签支持的Windows Server版本。
所有标记为linux-amd64的镜像兼容Linux操作系统主机。
latest, 9.3, 9.2, 9.1, 9.0, 8.2, windows-amd64-9.2-windowsservercore-ltsc2022, windows-amd64-9.1-windowsservercore-ltsc2022, windows-amd64-9.0-windowsservercore-ltsc2022, windows-amd64-8.2-windowsservercore-ltsc2022, windows-amd64-latest-windowsservercore-ltsc2022latest, 9.3, 9.2, 9.1, 9.0, 8.2, windows-amd64-9.2-windowsservercore-ltsc2019, windows-amd64-9.1-windowsservercore-ltsc2019, windows-amd64-9.0-windowsservercore-ltsc2019, windows-amd64-8.2-windowsservercore-ltsc2019, windows-amd64-latest-windowsservercore-ltsc20199.2, 9.1, 9.0, 8.2, windows-amd64-9.2-windowsservercore-ltsc2016, windows-amd64-9.1-windowsservercore-ltsc2016, windows-amd64-9.0-windowsservercore-ltsc2016, windows-amd64-8.2-windowsservercore-ltsc2016latest, 9.3, 9.2, 9.1, 9.0, 8.2, linux-amd64-9.2, linux-amd64-9.1, linux-amd64-9.0, linux-amd64-8.2, linux-amd64-latestLinux镜像免责声明
请注意,并非所有Identity Manager功能在Linux容器中都受支持。 Identity Manager < 9.3运行在Mono上,且并非所有底层组件在Mono中可用。
Identity Manager 9.3运行在.NET 8上,且并非所有底层组件在Linux上的.NET 8中兼容。
注意: 在Linux上,应用服务器镜像不会自动更新。当
QBMFileRevision的条目因更新或迁移而更改时,您必须启动新实例。
appsettings.jsonappsettings.json文件配置应用服务器的所有设置。容器会探测两个位置以查找appsettings.json文件:
Windows
C:\ProgramData\Docker\secrets\appsettings.json:如果存在此文件,将直接使用,不使用环境变量替换任何占位符。可使用以下命令创建appsettings.json模板:
powershell$P = $PWD.Path.Replace("\", "/") $VERSION = "latest" docker run -it --rm ` -v $P/secrets:C:/Data ` -e "CONNSTRING=Data Source=..." ` -e "UPDATEPWD=..." ` oneidentity/oneim-appserver:$VERSION ` --createwebcfg C:\data
注意: 在生成web.config和启动使用所创建web.config的容器时,需要指定相同的
UPDATEACCOUNT和UPDATEPWD值。
容器使用其模板,并使用密钥值或环境变量替换以下值:
| 替换模式 | 密钥值路径 | 环境变量 |
|---|---|---|
%DB_PROVIDER% | C:\ProgramData\Docker\secrets\DBSYSTEM | DBSYSTEM |
%DB_CONNECTION% | C:\ProgramData\Docker\secrets\CONNSTRING | CONNSTRING |
%HDB_NAME_1% | C:\ProgramData\Docker\secrets\HDBNAME1 | HDBNAME1 |
%HDB_CONNECTION_1% | C:\ProgramData\Docker\secrets\HDBCONN1 | HDBCONN1 |
%HDB_NAME_2% | C:\ProgramData\Docker\secrets\HDBNAME2 | HDBNAME2 |
%HDB_CONNECTION_2% | C:\ProgramData\Docker\secrets\HDBCONN2 | HDBCONN2 |
%HDB_NAME_3% | C:\ProgramData\Docker\secrets\HDBNAME3 | HDBNAME3 |
%HDB_CONNECTION_3% | C:\ProgramData\Docker\secrets\HDBCONN3 | HDBCONN3 |
#BASEURL# | C:\ProgramData\Docker\secrets\BASEURL | BASEURL |
#APPINSIGHTS_KEY# | C:\ProgramData\Docker\secrets\APPINSIGHTS_KEY | APPINSIGHTS_KEY |
#APPINSIGHTS_LOGLEVEL# | C:\ProgramData\Docker\secrets\APPINSIGHTS_LOGLEVEL | APPINSIGHTS_LOGLEVEL |
#LOG_TENANT# | C:\ProgramData\Docker\secrets\LOG_TENANT | LOG_TENANT |
#FILE_LOGLEVEL# | C:\ProgramData\Docker\secrets\FILE_LOGLEVEL | FILE_LOGLEVEL |
#SUPPORTREADSCALEOUT# | C:\ProgramData\Docker\secrets\SUPPORTREADSCALEOUT | SUPPORTREADSCALEOUT |
#DISABLE_LOGVIEWER# | C:\ProgramData\Docker\secrets\ENABLE_LOGVIEWER | ENABLE_LOGVIEWER |
#DISABLE_RESTAPI# | C:\ProgramData\Docker\secrets\ENABLE_RESTAPI | ENABLE_RESTAPI |
#DISABLE_APPSERVERAPI# | C:\ProgramData\Docker\secrets\ENABLE_APPSERVERAPI | ENABLE_APPSERVERAPI |
#DISABLE_METADATA# | C:\ProgramData\Docker\secrets\ENABLE_METADATA | ENABLE_METADATA |
#DISABLE_SYNC# | C:\ProgramData\Docker\secrets\ENABLE_SYNC | ENABLE_SYNC |
密钥值优先于环境变量。
Linux
/run/secrets/Web.config:如果存在此文件,将直接使用,不使用环境变量替换任何占位符。可使用以下命令创建Web.config模板:
shVERSION=latest docker run -it --rm -v $PWD:/data -e "CONNSTRING=Data Source=..." oneidentity/oneim-appserver:linux-amd64-$VERSION --createwebcfg /data
容器使用其模板,并使用密钥值或环境变量替换以下值:
| 替换模式 | 密钥值路径 | 环境变量 |
|---|---|---|
%DB_PROVIDER% | /run/secrets/DBSYSTEM | DBSYSTEM |
%DB_CONNECTION% | /run/secrets/CONNSTRING | CONNSTRING |
%HDB_NAME_1% | /run/secrets/HDBNAME1 | HDBNAME1 |
%HDB_CONNECTION_1% | /run/secrets/HDBCONN1 | HDBCONN1 |
%HDB_NAME_2% | /run/secrets/HDBNAME2 | HDBNAME2 |
%HDB_CONNECTION_2% | /run/secrets/HDBCONN2 | HDBCONN2 |
%HDB_NAME_3% | /run/secrets/HDBNAME3 | HDBNAME3 |
%HDB_CONNECTION_3% | /run/secrets/HDBCONN3 | HDBCONN3 |
#BASEURL# | /run/secrets/BASEURL | BASEURL |
#APPINSIGHTS_KEY# | /run/secrets/APPINSIGHTS_KEY | APPINSIGHTS_KEY |
#APPINSIGHTS_LOGLEVEL# | /run/secrets/APPINSIGHTS_LOGLEVEL | APPINSIGHTS_LOGLEVEL |
#LOG_TENANT# | /run/secrets/LOG_TENANT | LOG_TENANT |
#CONSOLE_LOGLEVEL# | /run/secrets/CONSOLE_LOGLEVEL | CONSOLE_LOGLEVEL |
#FILE_LOGLEVEL# | /run/secrets/FILE_LOGLEVEL | FILE_LOGLEVEL |
#SUPPORTREADSCALEOUT# | /run/secrets/SUPPORTREADSCALEOUT | SUPPORTREADSCALEOUT |
#DISABLE_LOGVIEWER# | /run/secrets/ENABLE_LOGVIEWER | ENABLE_LOGVIEWER |
#DISABLE_RESTAPI# | /run/secrets/ENABLE_RESTAPI | ENABLE_RESTAPI |
#DISABLE_APPSERVERAPI# | /run/secrets/ENABLE_APPSERVERAPI | ENABLE_APPSERVERAPI |
#DISABLE_METADATA# | /run/secrets/ENABLE_METADATA | ENABLE_METADATA |
#DISABLE_SYNC# | /run/secrets/ENABLE_SYNC | ENABLE_SYNC |
密钥值优先于环境变量。
用于加密会话信息的证书将在以下位置查找:
C:\ProgramData\Docker\secrets\SessionCertificate.pfx/run/secrets/SessionCertificate.pfx以下文件夹:
C:\ProgramData\Docker\secrets\/run/secrets可以挂载为卷,其中可找到名为该证书的现有证书,或者如果文件夹可写,服务将尝试在该位置创建新证书。
会话证书需要在应用服务器实例之间共享,以便在应用服务器更新后或在应用服务器集群中可以重新打开会话。
Windows
可通过以下命令创建会话证书:
powershell$P = $PWD.Path.Replace("\", "/") $VERSION = "latest" docker run -it --rm -v $P/secrets:C:/Data oneidentity/oneim-appserver:$VERSION --createcert C:\data
或使用PowerShell:
powershell$outfile = "Path\to\SessionCertificate.pfx" $date = (Get-Date).Date.AddDays(1000) $cert = New-SelfSignedCertificate ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -HashAlgorithm SHA1 ` -KeyExportPolicy Exportable ` -NotAfter $date ` -Subject "CN=Application Server" ` -Type DocumentEncryptionCert [System.IO.File]::WriteAllBytes( ` $outfile, ` $cert.Export( ` [System.Security.***graphy.X509Certificates.X509ContentType]::Pkcs12, ` $null))
Linux
可通过以下命令创建会话证书:
shVERSION=latest docker run -it --rm -v $PWD:/data oneidentity/oneim-appserver:linux-amd64-$VERSION --createcert /data
或使用OpenSSL:
shopenssl genrsa 2048 > private.pem openssl req -x509 -sha1 -days 1000 -new -subj "/CN=Application Server" -key private.pem -out public.pem openssl pkcs12 -export -in public.pem -inkey private.pem -password pass: -out config/SessionCertificate.pfx
DBSYSTEM安装和运行时连接的数据库系统。有效值为:
MSSQL:Microsoft SQL Server如果未提供DBSYSTEM值,默认使用MSSQL。
此值也可通过密钥文件夹中的文件提供。
CONNSTRING用于连接系统的连接字符串。此参数为必填项。
连接字符串示例(MSSQL):
connectionstringData Source=[服务器];Initial Catalog=[数据库];User ID=[用户];Password=[密码]
此值也可通过密钥文件夹中的文件提供。
TARGETS要安装的部署目标的逗号分隔列表。默认目标包括应用服务器和搜索索引目标:Server\Web\AppServer,Server\Web\AppServer\SearchCrawler,Server\Web\AppServer\SearchIndex。
如果不需要搜索索引,可将此变量更改为Server\Web\AppServer。
BASEURL服务器可从外部访问的基本URL。当API测试前端需要正常工作时需设置。
此值也可通过密钥文件夹中的文件提供。
UPDATEACCOUNT注意: 仅限Windows。此环境变量仅在Windows容器中可用。
设置用于更新的特定账户名。更新账户的默认名称为Update。
此值也可通过密钥文件夹中的文件提供。
UPDATEPWD注意: 仅限Windows。此环境变量仅在Windows容器中可用。
UPDATEACCOUNT中指定的更新账户的密码。如果未设置密码,将为容器运行生成随机密码。
此值也可通过密钥文件夹中的文件提供。
HDBNAMEx要放入Web.config的历史数据库连接名称。x可以是1到3之间的任何值。需要HDBCONNx值。
此值也可通过密钥文件夹中的文件提供。
HDBCONNx要放入Web.config的历史数据库连接字符串。x可以是1到3之间的任何值。
此值也可通过密钥文件夹中的文件提供。
SUPPORTREADSCALEOUT如果应用应使用Azure托管实例的读取扩展处理,设置为true。
APPINSIGHTS_KEY用于记录到AppInsights的密钥。如果未设置,则不记录到AppInsights。
此值也可通过密钥文件夹中的文件提供。
APPINSIGHTS_LOGLEVEL用于记录到AppInsights的日志级别。默认:Info
此值也可通过密钥文件夹中的文件提供。
LOG_TENANT要与发送到AppInsights的每条日志消息关联的租户ID。
此值也可通过密钥文件夹中的文件提供。
CONSOLE_LOGLEVEL用于记录到控制台的日志级别。仅限Linux。默认:Info。
此值也可通过密钥文件夹中的文件提供。
FILE_LOGLEVEL用于记录到日志文件的日志级别。默认:Info
此值也可通过密钥文件夹中的文件提供。
ENABLE_LOGVIEWER在状态前端启用日志查看器。有效值:true和false。默认:true。
ENABLE_RESTAPI启用REST API。有效值:true和false。默认:true。
ENABLE_APPSERVERAPI启用允许Identity Manager前端和工具进行API访问的AppServer API。有效值:true和false。默认:true。
ENABLE_METADATA启用同步所需的元数据API。有效值:true和false。默认:false。
ENABLE_SYNC启用同步所需的同步API。有效值:true和false。默认:false。
DEBUG设置为true可从启动脚本获取详细输出。
Windows和Linux镜像的卷挂载点不同。请根据所用镜像类型指定卷挂载点。
secrets(manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务