Docker 支持HOOPS Visualize Web 软件包包含一份入门指南可帮助您轻松地在服务器上部署 HOOPS Visualize Web从而快速转换和查看模型无需太多额外设置。这对于演示和评估非常方便但对于生产部署许多客户会需要更安全、更稳定的解决方案例如 Docker 容器。我们为 HOOPS Visualize Web 的主要组件提供了多个 Docker 模板您可以在HOOPS Visualize Web Dockerfiles 仓库HOOPS Visualize Web我们为 HOOPS Visualize Web 的主要组件提供了多个 Docker 模板您可以在HOOPS Visualize Web Dockerfiles 仓库中找到它们。自 2020 年起该仓库已存档以便我们发布新的 Docker 镜像。如有任何疑问请联系我们。基本配置您需要安装 Docker。推荐使用docker-install命令进行安装。使用以下命令将您的用户添加到 Docker 用户组sudo usermod -aG docker your user name这些更改可能需要您下次以上述用户身份登录后才会生效。安装 Docker 后可以使用以下步骤构建 HOOPS Visualize Web 镜像解压缩从开发者专区下载的 HOOPS Visualize Web 软件包将与您的 HOOPS Visualize Web 版本对应的文件夹内容复制到软件包根目录。在软件包根目录下打开一个新的终端。运行相应的命令来构建 Docker 文件扩展容器虽然提供的镜像可以直接使用但它们旨在为将 HOOPS Visualize Web 集成到您的工作流程中提供一个起点。在大多数情况下您希望容器更加独立而不是依赖于主机上的路径。对 HOOPS Visualize Web 容器的常见修改之一是构建与文件存储交互的逻辑。在查看场景下这需要在启动 SC Streaming Server 之前从存储中提取模型。在转换场景下源文件将被 HOOPS Converter 检索和处理。处理完成后文件将被推送到文件存储。HOOPS 容器与 AWS概述提供的 Docker 文件支持在 CSR 和 SSR 模式下开箱即用 HOOPS Converter 和 Stream Cache Server。在容器中运行 HOOPS Visualize Web 组件提供了一个沙箱环境简化了组件的运行并在会话关闭或极少数情况下发生系统故障时自动清理临时文件。您需要修改并补充这些容器中的代码才能使其在 Amazon Web Services 环境中正常工作。HOOPS转换器HOOPS Converter用于将 CAD 文件转换为Stream Cache格式以便可以使用Web Viewer高效地进行流式传输和查看。根据模型的大小和复杂程度此过程可能需要几秒到几分钟不等。对于较大的文件这可能会超出 AWS Lambda 允许的限制。处理大型文件转换的容器化方法可以利用弹性容器服务 ( ECS)。ECS 是一种容器编排服务可用于运行使用多种后端服务的容器。使用 EC2 后端时系统会从您创建的运行实例集群中启动容器并且可以使用自动扩展组进行扩展。Fargate 后端提供了一种无服务器选项。AWS Fargate会自动查找可用的 AWS 资源来运行您的容器而您可以管理和扩展 EC2 集群。Fargate 也提供竞价型实例选项。在容器内部运行转换时您需要编写应用程序代码来执行文件转换所需的步骤。这些步骤很可能包括以下步骤从 S3 对象存储中检索源文件对文件运行 HOOPS Converter更新数据库中的转换详情将转换结果上传到云存储解决方案例如 S3、EFS 等。流缓存流媒体服务器SC 流媒体服务器旨在让用户能够以最快的速度与大型 CAD 模型进行交互。由于查看会话具有短暂性因此需要采用与文件转换不同的容器策略。使用 ECS 编排容器需要相对较长的时间因为容器必须先进行配置才能最终激活。这种时间延迟在大多数情况下会导致用户体验不佳。使用容器化方式运行 SC 流媒体服务器需要您在收到观看会话请求时手动在 EC2 实例上启动容器。为了实现这一点需要创建一个 AMI其中已安装了 Docker 运行时。服务器上还会运行一个 Web 应用程序用于监听和处理观看会话请求。该应用程序应处理与创建观看会话相关的任何身份验证或业务逻辑。然后它将使用运行在本地 EC2 实例上的 Docker 守护程序创建一个容器。可以通过使用与CloudWatch警报关联的 EC2 自动扩展组来实现此方案的扩展。在容器内运行 SC 流媒体服务器时您需要编写应用程序代码来执行 WebSocket 流媒体传输所需的步骤。这些步骤很可能包括从存储解决方案 S3 或 EFS 中检索流缓存模型启动 SC 流媒体服务器此时生成的应用程序将开始代理传入到容器的连接。笔记SC 流媒体服务器提供了一个命令行选项用于更新服务器的活跃度。如果指定了此选项的值服务器将发送一个 POST 请求表明服务器已完全初始化并准备好开始流媒体播放。