此示例使用主机网络模式将所有 Identity Manager 容器部署在单个 Docker 主机上。
确保主机名采用如下所示的 FQDN 格式:
<主机 IP> <FQDN> <短名称>
例如:
172.120.0.1 identitymanager.example.com identitymanager
必须在部署容器之前生成无提示属性文件。有关生成无提示属性文件的详细信息,请参见创建无提示属性文件。
必须按以下顺序部署容器:
生成无提示属性文件。有关详细信息,请参见创建无提示属性文件。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_identityengine.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=engine-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties identityengine:idm-4.8.0
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/idm/log/idmconfigure.log
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it engine-container bash
注:要运行 ndstrace 或 ndsrepair 等身份库实用程序,请以非 root 用户 nds 的身份登录到容器。如果您以 root 用户身份登录,则无法运行这些实用程序。要以 nds 用户身份登录到容器,请运行 docker exec -it engine-container sudo nds 命令。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_remoteloader.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=rl-container -v /data:/config remoteloader:idm-4.8.0
此命令会部署 64 位和 32 位版本的 Remote Loader。容器的 /opt/novell/eDirectory/lib/dirxml/classes/ 目录中提供了驱动程序文件。
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it rl-container bash
配置 Remote Loader。有关详细信息,请参见《NetIQ Identity Manager Driver Administration Guide》(NetIQ Identity Manager 驱动程序管理指南)中的“Configuring the Remote Loader and Drivers”(配置 Remote Loader 和驱动程序)。
确保配置文件在共享卷中可用。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_fanoutagent.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=foa-container -v /data:/config fanoutagent:idm-4.8.0
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it foa-container bash
配置扇出代理。有关详细信息,请参见《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 实施指南)中的“Configuring the Fanout Agent”(配置扇出代理)。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_iManager320.tar
使用符合您环境要求的所需配置创建 .env 文件。例如,在 /data 目录中创建 iManager.env。
# Certificate Public Key Algorithm # Allowed Values: RSA, ECDSA256, ECDSA384 CERTIFICATE_ALGORITHM=RSA # Cipher Suite # Allowed Values: # For RSA - NONE, LOW, MEDIUM HIGH # For ECDSA256 - SUITEB128ONLY # For ECDSA384 - SUITEB128, SUITEB192 CIPHER_SUITE=NONE # Tomcat Server HTTP Port TOMCAT_HTTP_PORT=8080 # Tomcat Server SSL Port TOMCAT_SSL_PORT=8743 # iManager Authorized User (admin_name.container_name.tree_name) AUTHORIZED_USER=
在共享卷 data 下创建一个子目录,例如 iManager。
使用以下命令部署容器:
docker run -d --network=host --name=iman-container -v /data:/config -v /data/iManager.env:/etc/opt/novell/iManager/conf/iManager.env imanager:3.2.0
要安装 Identity Manager 插件,请执行以下步骤:
登录到 iManager。
https://identitymanager.example.com:8743/nps/
单击配置。
依次单击插件安装、可用的 NetIQ 插件模块。
从 NetIQ 插件模块列表中选择所有插件,然后单击安装。
要脱机获取插件,请执行以下步骤:
从 NetIQ 下载网站下载 Identity_Manager_4.8_Linux.iso。
装入下载的 .iso。
从装入位置导航到 /iManager/plugins 目录,然后获取所需插件。
您也可以从 iManager 插件网站上安装插件。
重启动 iManager 容器。
docker restart iman-container
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it iman-container bash
有关部署 iManager 容器的详细信息,请参见《NetIQ iManager Installation Guide》(NetIQ iManager 安装指南)中的“Deploying iManager Using Docker Container”(使用 Docker 容器部署 iManager)。
生成无提示属性文件。有关详细信息,请参见创建无提示属性文件。
确保 SSO_SERVER_SSL_PORT 属性设置为某个唯一端口。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_osp.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=osp-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties osp:idm-4.8.0
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/osp/log/idmconfigure.log
使用以下命令停止容器:
docker stop osp-container
运行以下命令修改 server.xml 文件中的 Tomcat 关闭端口。在下面的示例中,端口 8005 将更改为 18005:
sed -i "s~8005~18005~g" /data/osp/tomcat/conf/server.xml
使用以下命令启动 容器:
docker start osp-container
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it osp-container bash
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_postgres.tar.gz
在共享卷 data 下创建一个子目录,例如 postgres。
mkdir postgres
使用以下示例命令部署容器:
docker run -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=<口令> -v /data/postgres:/var/lib/postgresql/data postgres:9.6.12-alpine
例如,
docker run -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data postgres:9.6.12-alpine
创建 Identity Applications 的 idmdamin 用户。
docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<口令>'"
创建 Identity Applications、工作流程和 Identity Reporting 数据库。
docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmuserappdb"
docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE igaworkflowdb"
docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmrptdb"
注:当您配置 Identity Applications 和 Identity Reporting 容器时,会用到这些数据库。
为 idmadmin 用户授予对数据库的所有特权:
docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE idmuserappdb TO idmadmin"
docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE igaworkflowdb TO idmadmin"
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it postgresql-container bash
生成无提示属性文件。有关详细信息,请参见创建无提示属性文件。
确保 UA_SERVER_SSL_PORT 属性设置为某个唯一端口。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_identityapplication.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=idapps-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties identityapplication:idm-4.8.0
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/userapp/log/idmconfigure.log
使用以下命令停止容器:
docker stop idapps-container
运行以下命令修改 server.xml 文件中的 Tomcat 关闭端口。在下面的示例中,端口 8005 将更改为 28005:
sed -i "s~8005~28005~g" /data/userapp/tomcat/conf/server.xml
使用以下命令启动 Docker 容器:
docker start idapps-container
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it idapps-container bash
注:要在配置更新实用程序中修改任何设置,请从 Identity Applications 容器的 /opt/netiq/idm/apps/configupdate/ 目录起动 configupdate.sh。配置更新实用程序只能在控制台模式下起动。
生成无提示属性文件。在生成无提示属性文件时选择 Identity Applications。有关详细信息,请参见创建无提示属性文件。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_formrenderer.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=fr-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties formrenderer:idm-4.8.0
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it fr-container bash
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_activemq.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=amq-container -v /data:/config --env-file /data/silent.properties activemq:idm-4.8.0
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it amq-container bash
配置 ActiveMQ。有关详细信息,请参见《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 实施指南)中的“Setting Up ActiveMQ Startup Service ”(设置 ActiveMQ 启动服务)。
生成无提示属性文件。有关详细信息,请参见创建无提示属性文件。
确保 TOMCAT_HTTPS_PORT 属性设置为某个唯一端口。
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_identityreporting.tar.gz
使用以下命令部署容器:
docker run -d --network=host --name=rpt-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties identityreporting:idm-4.8.0
要校验是否已成功部署容器,请运行以下命令检查日志文件:
tail -f /data/reporting/log/idmconfigure.log
使用以下命令停止容器:
docker stop rpt-container
运行以下命令修改 server.xml 文件中的 Tomcat 关闭端口。在下面的示例中,端口 8005 将更改为 38005:
sed -i "s~8005~38005~g" /data/reporting/tomcat/conf/server.xml
(视情况而定)仅当您使用身份库作为证书颁发机构时才适用。
在 setenv.sh 文件的 export CATALINA_OPTS 条目中添加 -Dcom.sun.net.ssl.checkRevocation=false 参数。在此示例中,setenv.sh 文件位于 /data/reporting/tomcat/bin/ 目录下。
使用以下命令启动 Docker 容器:
docker start rpt-container
要登录容器,请运行以下命令:
docker exec -it <容器> <命令>
例如,
docker exec -it rpt-container bash
部署 SSPR 容器需要执行的任务如下:
生成 SSPR 的无提示属性文件。有关更多信息,请参见创建无提示属性文件。
在共享卷 data 下创建一个子目录,例如 sspr。
mkdir sspr
在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。
运行以下命令装载映像:
docker load --input IDM_48_sspr.tar.gz
使用以下示例命令部署容器:
docker run -d --network=host --name=sspr-container -v /data/sspr:/config sspr/sspr-webapp:latest
在 Docker 主机上运行以下命令,以将 Docker 主机中的 silent.properties 文件复制到 SSPR 容器:
docker cp /data/silent.properties sspr-container:/tmp
将无提示属性文件装载到 SSPR 容器。
docker exec -it sspr-container /app/command.sh ImportPropertyConfig /tmp/silent.properties
注:检查是否在 SSPR 容器的 /config 目录下创建了 SSPRConfiguration.xml,并校验该文件的内容。
将 OAuth 证书导入 SSPR:
在 Docker 主机上编辑 /data/sspr/ 目录中的 SSPRConfiguration.xml 文件,将 configIsEditable 标志的值设置为 true 并保存更改。
起动浏览器并输入 https://identitymanager.example.com:8443/sspr URL。
使用管理员身份凭证(例如 uaadmin)登录。
单击右上角的用户(例如 uaadmin),然后单击配置编辑器。
指定配置口令并单击登录。
单击设置 > 单点登录 (SSO) 客户端 > OAuth,确保所有 URL 都使用 HTTPS 协议和正确的端口。
在 OAuth 服务器证书下,单击从服务器导入以导入新证书,然后单击确定。
单击右上角的 保存证书。
查看更改并单击确定。
SSPR 应用程序重启动之后,编辑 SSPRConfiguration.xml 文件,将 configIsEditable 标志的值设置为 true 并保存更改。