19.2 更新分布式服务器上的容器

19.2.1 更新 Identity Manager 引擎容器

  1. 在共享目录 /data 下创建包含以下内容的 credentials.properties 文件。

    ID_VAULT_ADMIN_LDAP="<ID_VAULT_ADMIN_LDAP>"
    ID_VAULT_PASSWORD="<ID_VAULT_PASSWORD>"

    其中,ID_VAULT_ADMIN_LDAP 必须采用逗号分隔格式。

    例如:

    ID_VAULT_ADMIN_LDAP="cn=admin,ou=sa,o=system"

    ID_VAULT_PASSWORD="novell"

  2. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  3. 导航到 docker-images 目录。

  4. 运行以下命令装载映像:

    docker load --input IDM_490_identityengine.tar.gz
  5. 如果您要使用覆盖网络部署 Identity Manager 引擎,请使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.12 --network=idmoverlaynetwork --hostname=identityengine.example.com --name=engine-container -v /etc/hosts:/etc/hosts -v /data:/config -p 8028:8028 -p 524:524 -p 389:389 -p 8030:8030 -p 636:636 -e SILENT_INSTALL_FILE=/config/credentials.properties --stop-timeout 100 identityengine:idm-4.9.0-580

    如果您要使用主机网络部署 Identity Manager 引擎,请使用以下命令更新容器:

    docker run --restart unless-stopped -d --network=host --name=engine-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/credentials.properties --stop-timeout 100 identityengine:idm-4.9.0-580

19.2.2 更新 Remote Loader 容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_remoteloader.tar.gz
  4. 运行以下命令部署容器:

    docker run --restart unless-stopped -d --ip=192.168.0.2 --network=idmoverlaynetwork --hostname=remoteloader.example.com -p 8090:8090 --name=rl-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 remoteloader:idm-4.9.0-580

    容器的 /opt/novell/eDirectory/lib/dirxml/classes/ 目录中提供了驱动程序文件。

  5. (视情况而定)如果 Remote Loader 实例未运行,请启动 Remote Loader 实例。

19.2.3 更新扇出代理容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_fanoutagent.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.3 --network=idmoverlaynetwork --hostname=fanoutagent.example.com --name=foa-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 fanoutagent:idm-4.9.0-580
  5. 启动扇出代理。

19.2.4 更新 OSP 容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_osp.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.5 --network=idmoverlaynetwork --hostname=osp.example.com -p 8543:8543 --name=osp-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 osp:idm-4.9.0-580
  5. 运行以下命令以登录容器:

    docker exec -it <container> <command>

    例如:

    docker exec -it osp-container bash

19.2.5 更新 PostgreSQL 容器

注:在更新 PostgreSQL 容器之前,请务必停止 Identity Applications 和/或 Identity Reporting 等依赖容器。

  1. 在 Docker 主机上,导航到任意位置。例如:

    cd /tmp

  2. 运行以下命令备份现有的 PostgreSQL 容器数据。

    docker exec postgresql-container pg_dumpall -U postgres > dump.sql
  3. 停止 PostgreSQL 容器。

    docker stop <container name>

    例如:

    docker stop postgresql-container

  4. 删除 PostgreSQL 容器。

    docker rm <容器名称>

  5. 删除现有的 PostgreSQL 数据目录。

    rm -rf /data/postgres

  6. (视情况而定)删除 PostgreSQL Docker 映像。

    docker rmi <映像 ID>

  7. 在共享目录 /data 下创建一个子目录,例如 postgres。

    mkdir postgres

  8. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  9. 导航到 docker-images 目录。

  10. 运行以下命令装载映像:

    docker load --input IDM_490_postgres.tar.gz
  11. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.6 --network=idmoverlaynetwork --hostname=postgresql.example.com --name=postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=<password> -v /data/postgres:/var/lib/postgresql/data -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 postgres:12.18

    例如:

    docker run --restart unless-stopped -d --ip=192.168.0.6 --network=idmoverlaynetwork --hostname=postgresql.example.com --name=postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 postgres:12.18

  12. 将您在 Docker 主机上备份的数据文件(步骤 2)复制到新的 PostgreSQL data 目录。

    cp /tmp/dump.sql /data/postgres

  13. 运行以下命令以登录容器:

    docker exec -it <container> <command>

    例如:

    docker exec -it postgresql-container bash

  14. 导航到 /var/lib/postgresql/data/ 目录。

  15. 将在步骤 2 中备份的数据恢复到新的 PostgreSQL 容器。

    psql -U postgres < dump.sql >

  16. 运行以下命令退出容器。

    exit

19.2.6 更新 Identity Applications 容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_identityapplication.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.7 --network=idmoverlaynetwork --hostname=identityapps.example.com -p 18543:18543 --name=idapps-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 identityapplication:idm-4.9.0-580

19.2.7 更新表单渲染器容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_formrenderer.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.8 --network=idmoverlaynetwork --hostname=formrenderer.example.com -p 8600:8600 --name=fr-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 formrenderer:idm-4.9.0-580

19.2.8 更新 ActiveMQ 容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_activemq.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.9 --network=idmoverlaynetwork --hostname=activemq.example.com -p 61616:61616 --name=amq-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 activemq:idm-4.9.0-580

19.2.9 更新 Identity Reporting 容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_identityreporting.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.10 --network=idmoverlaynetwork --hostname=identityreporting.example.com -p 28543:28543 --name=rpt-container -v /etc/hosts:/etc/hosts -v /data:/config --stop-timeout 100 identityreporting:idm-4.9.0-580

19.2.10 更新 SSPR 容器

  1. 导航到 Identity_Manager_4.9.0_Containers.tar.gz 文件的解压缩位置。

  2. 导航到 docker-images 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_490_sspr.tar.gz
  4. 使用以下命令更新容器:

    docker run --restart unless-stopped -d --ip=192.168.0.11 --network=idmoverlaynetwork --hostname=sspr.example.com --name=sspr-container -v /etc/hosts:/etc/hosts -v /data/sspr:/config -p 8443:8443 --stop-timeout 100 sspr/sspr-webapp:4.7.0.1-580

19.2.11 更新 Identity Console 容器

有关更新 Identity Console 容器的详细信息,请参见 Upgrading Identity Console As Docker Container(将 Identity Console 升级为 Docker 容器)。