PrizmDoc 应用服务 (PAS) 是 PrizmDoc Viewer 产品后端的一部分(了解 PrizmDoc Viewer 的整体架构以及 PAS 在其中的作用)。
这是 PAS 的*** Docker 镜像,可用于将 PAS 部署到 Docker 主机的生产环境。
注意: 此镜像适用于准备进行生产部署的客户。如果您只是想轻松评估产品并用于本地开发,建议您改用 accusoft/prizmdoc-viewer-eval Docker 镜像。
运行 PAS 容器只需 Docker 主机(安装了 Docker 的机器)。有关更多信息,请参阅 Docker 文档。
在运行此 Docker 镜像之前,必须 配置 Docker 以使用适当的硬件资源。如果尝试使用较少的 CPU 或内存运行镜像,可能无法正常工作。有关详细信息,请查看 服务器 sizing 指南 中的指导。
运行以下命令拉取最新的 PrizmDoc 应用服务镜像:
docker pull accusoft/prizmdoc-application-services
在运行 PAS 之前,需要配置文件(如果已有要使用的配置文件,可跳过至步骤 4)。可以使用此 Docker 镜像的 init-config 命令创建默认配置文件。本节说明如何操作。
首先,确保在主机文件系统上创建了 config 目录:
powershellmkdir config
然后,使用 init-config 命令创建新的 pcc.nix.yml 文件:
powershelldocker run --rm -e ACCEPT_EULA=YES --volume $pwd/config:/config accusoft/prizmdoc-application-services init-config
这将在 Windows 主机文件系统的 ./config/pcc.nix.yml 路径下创建新的 PAS 配置文件。
使用 init-config 命令创建新的 pcc.nix.yml 文件:
bashdocker run --rm -e ACCEPT_EULA=YES --volume $(pwd)/config:/config accusoft/prizmdoc-application-services init-config
这将在主机文件系统的 ./config/pcc.nix.yml 路径下创建新的 PAS 配置文件。
需要自定义 pcc.nix.yml 文件以适应 PAS 部署。
通常需要:
将 secretKey 更改为自定义值。
通过更新 pccServer 属性配置与 PrizmDoc Server 的连接:
如果使用自托管 PrizmDoc Server,配置可能如下:
ymlpccServer.hostName: my-prizmdoc-server-host pccServer.port: *** pccServer.scheme: http
如果使用 PrizmDoc Cloud:
ymlpccServer.hostName: api.accusoft.com pccServer.port: 443 pccServer.scheme: https pccServer.apiKey: YOUR_API_KEY
配置数据库连接。
PAS 必须使用数据库。如果尚无 PrizmDoc 要连接的数据库,可使用 MySQL Docker 镜像 轻松创建数据库。如果两个容器位于同一 用户定义的 Docker 网络 中,PrizmDoc 容器可通过数据库容器名称在连接字符串中引用它。
必须指定具有添加或修改表及记录权限的数据库用户,配置示例:
ymldatabase.adapter: mysql database.connectionString: "mysql://username:password@localhost:3306/prizmdb"
配置其他存储选项。
有关更多信息,请参阅 PAS 配置产品文档。
此步骤可选,因为数据库初始化会在 PAS 启动时自动完成。如果要在启动产品前手动初始化数据库,请按以下步骤操作。
确保在 pcc.nix.yml 文件中配置了数据库连接。如果配置文件中指定的数据库用户没有添加或修改表及记录的权限,必须通过环境变量提供具有权限的替代用户和密码。
有关用户权限要求以及 DATABASE_USER 和 DATABASE_PASSWORD 环境变量影响的更多信息,请参阅 如何手动运行 PAS 数据库脚本 文档。
若要使用配置文件中提供的用户以外的用户初始化数据库,请在命令中提供 DATABASE_USER 和 DATABASE_PASSWORD 环境变量:
powershelldocker run --rm --env ACCEPT_EULA=YES --env DATABASE_USER="prizm-user" --env DATABASE_PASSWORD="password" --volume $pwd/config:/config accusoft/prizmdoc-application-services init-database
若要使用配置文件中提供的用户初始化数据库,请运行以下命令:
注意: 如果之前已设置 DATABASE_USER 和 DATABASE_PASSWORD 环境变量,将优先使用它们而非配置文件中的数据库用户。
powershelldocker run --rm --env ACCEPT_EULA=YES --volume $pwd/config:/config accusoft/prizmdoc-application-services init-database
若要使用配置文件中提供的用户以外的用户初始化数据库,请在命令中提供 DATABASE_USER 和 DATABASE_PASSWORD 环境变量:
bashdocker run --rm --env ACCEPT_EULA=YES --env DATABASE_USER="prizm-user" --env DATABASE_PASSWORD="password" --volume $(pwd)/config:/config accusoft/prizmdoc-application-services init-database
若要使用配置文件中提供的用户初始化数据库,请运行以下命令:
注意: 如果之前已设置 DATABASE_USER 和 DATABASE_PASSWORD 环境变量,将优先使用它们而非配置文件中的数据库用户。
bashdocker run --rm --env ACCEPT_EULA=YES --volume $(pwd)/config:/config accusoft/prizmdoc-application-services init-database
假设已将 PAS 配置为使用端口 3000 并使用 ./config、./logs 和 ./data 目录,本节说明如何启动 PAS Docker 容器。
首先,创建日志和数据目录:
powershellmkdir logs mkdir data
然后,启动 pas 容器:
powershelldocker run -d --env ACCEPT_EULA=YES --publish 3000:3000 --volume $pwd/config:/config --volume $pwd/logs:/logs --volume $pwd/data:/data --name pas accusoft/prizmdoc-application-services
启动 pas 容器:
bashdocker run -d --env ACCEPT_EULA=YES --publish 3000:3000 --volume $(pwd)/config:/config --volume $(pwd)/logs:/logs --volume $(pwd)/data:/data --name pas accusoft/prizmdoc-application-services
在上述示例中:
-d 在后台以分离模式运行容器。--rm 确保容器停止时自动删除。--env ACCEPT_EULA=YES 表示您已接受 PrizmDoc Viewer 许可协议。--env DATABASE_USER="prizm-user" --env DATABASE_PASSWORD="password" 指定访问连接数据库时使用的用户和密码。
init-database 时,提供的用户必须具有创建和修改数据库表及其记录的权限。--publish 3000:3000 将容器端口发布到主机。假设 PAS 配置为使用端口 3000。如果配置为使用其他端口,请相应调整。--volume $(pwd)/config:/config 将主机配置目录映射到容器中。本地配置目录必须包含之前创建的 pcc.nix.yml 配置文件。--volume $(pwd)/logs:/logs 将本地日志目录映射到容器中。容器停止后,日志将保留在此目录中。--volume $(pwd)/data:/data 将本地数据目录映射到容器中。容器停止后,数据将保留在此目录中,重启容器时可再次使用。--name pas 设置运行容器的名称。accusoft/prizmdoc-application-services 是要运行的镜像。注意: 从 PrizmDoc Viewer v13.19 开始,Docker 容器启动单个 PAS 实例。需要 PAS 集群时,建议运行多个容器。但是,可以设置环境变量 LEGACY_RUN_MULTIPLE_INSTANCES=YES 在容器中运行多个 PAS 实例。实例数量取决于主机的 CPU 核心数。
GET http://localhost:3000/health 应返回 HTTP 200,表示 PAS 健康。
powershellInvoke-WebRequest -Uri http://localhost:3000/health
应输出类似内容:
StatusCode : 200 StatusDescription : OK Content : {79, 75} RawContent : HTTP/1.1 200 OK Connection: keep-alive Content-Length: 2 Date: Thu, 21 Nov 2019 17:49:35 GMT OK Headers : {[Connection, keep-alive], [Content-Length, 2], [Date, Thu, 21 Nov 2019 17:49:35 GMT]} RawContentLength : 2
bashcurl -i http://localhost:3000/health
应输出类似内容:
HTTP/1.1 200 OK Date: Wed, 20 Nov 2019 20:00:39 GMT Connection: keep-alive Content-Length: 2 OK
GET http://localhost:3000/servicesConnection 应返回 HTTP 200,表示 PAS 已正确配置以向 PrizmDoc Server 发送请求。
powershellInvoke-WebRequest -Uri http://localhost:3000/servicesConnection
应输出类似内容:
StatusCode : 200 StatusDescription : OK Content : {79, 75} RawContent : HTTP/1.1 200 OK Connection: keep-alive Content-Length: 2 Date: Thu, 21 Nov 2019 17:50:11 GMT OK Headers : {[Connection, keep-alive], [Content-Length, 2], [Date, Thu, 21 Nov 2019 17:50:11 GMT]} RawContentLength : 2
bashcurl -i http://localhost:3000/servicesConnection
应输出类似内容:
bashHTTP/1.1 200 OK Date: Wed, 20 Nov 2019 20:00:39 GMT Connection: keep-alive Content-Length: 2 OK
可以使用以下命令停止命名容器:
bashdocker stop pas
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429