3.1 将 Identity Console 作为 Docker 容器进行升级

当新版本的 Identity Console 映像可用时,管理员可执行升级过程,以使用最新版 Identity Console 部署容器。执行升级之前,确保将所有必需的应用程序相关数据一直存储在 Docker 卷中。执行以下步骤以使用 Docker 容器升级 Identity Console:

  1. Software License and Download 中下载并装载最新版 Docker 映像,然后执行以下步骤安装最新版的 Identity Console,如 部署 Identity Console 所述。

  2. 装载最新的 Docker 映像后,使用以下命令停止当前的 Docker 容器:

    docker stop identityconsole-container
  3. (可选)对共享卷进行备份。

  4. 运行下列命令删除现有 Identity Console 容器:

    docker rm <container name>

    例如,

    docker rm identityconsole-container
  5. (可选)运行下列命令删除过时的 Identity Console Docker 映像:

    docker rmi identityconsole
  6. 使用以下命令创建 Identity Console Docker 容器:

    docker create --name <identityconsole-container-name> --env ACCEPT_EULA=Y --network=<network-type> --volume <volume-name>:/config/ identityconsole:<version>

    例如:

    docker create --name identityconsole-container --env ACCEPT_EULA=Y --network=host --volume IDConsole-volume:/config/ identityconsole:1.5.0.0000

    注:

    • 您可以通过将 ACCEPT_EULA 环境变量设置为 "Y" 以接受 EULA。您还可以在启动容器时通过使用互动模式 Docker 创建命令中的 -it 选项从屏幕提示中接受 EULA。

    • 上述命令中的 --volume 参数将创建存储配置和日志数据的卷。在这种情况下,我们创建了一个名为 IDConsole-volume 的卷。

  7. 使用以下命令将本地文件系统中的服务器证书文件复制到新建的容器中,作为 /etc/opt/novell/eDirAPI/cert/keys.pfx

    docker cp <absolute path of server certificate file> identityconsole-container:/etc/opt/novell/eDirAPI/cert/keys.pfx

    例如,

    docker cp /home/user/keys.pfx identityconsole-container:/etc/opt/novell/eDirAPI/cert/keys.pfx

    连接到多个 eDirectory 树时,必须确保为所有连接的树复制至少一个 keys.pfx 服务器证书。

  8. 使用以下命令将本地文件系统中的 CA 证书文件 (.pem) 复制到新建的容器中作为 /etc/opt/novell/eDirAPI/cert/SSCert.pem

    docker cp <absolute path of CA certificate file> identityconsole-container:/etc/opt/novell/eDirAPI/cert/SScert.pem

    例如,

    docker cp /home/user/SSCert.pem identityconsole-container:/etc/opt/novell/eDirAPI/cert/SSCert.pem

    连接到多个 eDirectory 树时,必须确保为所有连接的树获取单独的证书颁发机构证书。例如,如果连接到三个 eDirectory 树,则必须将所有三个证书颁发机构证书复制到 docker 容器中:

    docker cp /home/user/SSCert.pem identityconsole-container:/etc/opt/novell/eDirAPI/cert/SSCert.pem
    docker cp /home/user/SSCert1.pem identityconsole-container:/etc/opt/novell/eDirAPI/cert/SSCert1.pem
    docker cp /home/user/SSCert2.pem identityconsole-container:/etc/opt/novell/eDirAPI/cert/SSCert2.pem

    注:从 Identity Console 1.4 开始,配置文件 (edirapi.conf) 不显式包含 "ldapuser"、ldappassword" 和 "ldapserver" 参数。"bcert" 参数值必须包括可信根证书的目录路径。例如,bcert = "/etc/opt/novell/eDirAPI/cert/"。"origin" 参数独立于 "check-origin" 参数,并且在使用 DNS 配置时是必需的。

  9. 使用以下命令将本地文件系统中的配置文件 (edirapi.conf) 复制到新建的容器中,作为 /etc/opt/novell/eDirAPI/conf/edirapi.conf

    docker cp <absolute path of configuration file> identityconsole-container:/etc/opt/novell/eDirAPI/conf/edirapi.conf

    例如,

    docker cp /home/user/edirapi.conf identityconsole-container:/etc/opt/novell/eDirAPI/conf/edirapi.conf
  10. 使用以下命令启动第二个容器:

    docker start identityconsole-container
  11. 要检查运行容器的状态,运行下列命令:

    docker ps -a