轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
entity-search-web-app

senzing/entity-search-web-app

senzing

Entity Search Web App是一个实体搜索Web应用,通过Web界面使用Senzing REST API服务器微服务访问Senzing API功能,支持实体搜索、数据源管理和数据导入,提供Docker和docker-compose部署方式,包含SSL配置、管理区域和安全防护机制。

下载次数: 0状态:社区镜像维护者:senzing仓库类型:镜像最近更新:11 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

Entity Search Web App

https://travis-ci.com/Senzing/entity-search-web-app.svg?branch=master](https://travis-ci.com/Senzing/entity-search-web-app) https://img.shields.io/github/license/senzing/entity-search-web-app.svg](https://github.com/Senzing/entity-search-web-app/blob/master/LICENSE)

!截图

概述

这是一个实体搜索应用的实现,它使用Senzing REST API服务器微服务通过Web界面访问Senzing API的功能。

相关制品

  1. https://hub.docker.com/r/senzing/entity-search-web-app
  2. https://github.com/Senzing/charts/tree/master/charts/senzing-entity-search-web-app

目录

  1. Entity Search Web App
    1. 概述
      1. 相关制品
      2. 目录
      3. 图例
    2. 准备工作
      1. 必备软件
      2. 拉取最新Docker镜像
      3. 克隆仓库
      4. 配置
    3. 使用docker-compose
    4. 使用docker
      1. Docker网络
      2. 运行
      3. 使用SSL
        1. 前提条件
        2. 自签名证书
        3. 使用Docker Stack配置SSL
      4. 管理区域
        1. 管理区域配置
      5. 安全防护措施
        1. CORS(跨域请求)
        2. CSP(内容安全策略)
      6. 隔离环境
      7. 从源代码构建
    5. 开发
      1. 开发服务器
      2. 生产服务器
      3. 代码脚手架
    6. 测试
      1. 运行单元测试
      2. 运行端到端测试
    7. 更多帮助

图例

  1. :thinking: - "思考者"图标表示可能需要一些额外的思考。也许你需要做出一些选择,或者这是一个可选步骤。
  2. :pencil2: - "铅笔"图标表示执行前可能需要修改说明。
  3. :warning: - "警告"图标表示有需要注意的复杂情况,请留意。

准备工作

必备软件

需要安装以下软件:

  1. https://github.com/Senzing/knowledge-base/blob/master/WHATIS/docker.md
  2. https://github.com/Senzing/knowledge-base/blob/master/WHATIS/docker-compose.md

拉取最新Docker镜像

  1. 从https://hub.docker.com/r/senzing/entity-search-web-app%E6%8B%89%E5%8F%96%E6%AD%A4%E5%BA%94%E7%94%A8%E7%9A%84%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E3%80%82%E7%A4%BA%E4%BE%8B%EF%BC%9A

    console
    sudo docker pull docker.xuanyuan.run/senzing/entity-search-web-app
    
  2. 从https://hub.docker.com/r/senzing/senzing-api-server%E6%8B%89%E5%8F%96%E6%9C%80%E6%96%B0%E7%9A%84API%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%82%E7%A4%BA%E4%BE%8B%EF%BC%9A

    console
    sudo docker pull docker.xuanyuan.run/senzing/senzing-api-server
    

克隆仓库

  1. 设置这些环境变量值:

    console
    export GIT_ACCOUNT=senzing
    export GIT_REPOSITORY=entity-search-web-app
    export GIT_ACCOUNT_DIR=~/${GIT_ACCOUNT}.git
    export GIT_REPOSITORY_DIR="${GIT_ACCOUNT_DIR}/${GIT_REPOSITORY}"
    
  2. 按照https://github.com/Senzing/knowledge-base/blob/master/HOWTO/clone-repository.md%E4%B8%AD%E7%9A%84%E6%AD%A5%E9%AA%A4%E5%AE%89%E8%A3%85Git%E4%BB%93%E5%BA%93%E3%80%82

配置

通过环境变量或命令行参数指定的配置值:

  • https://github.com/Senzing/knowledge-base/blob/master/lists/environment-variables.md#senzing_data_version_dir
  • https://github.com/Senzing/knowledge-base/blob/master/lists/environment-variables.md#senzing_etc_dir
  • https://github.com/Senzing/knowledge-base/blob/master/lists/environment-variables.md#senzing_g2_dir
  • https://github.com/Senzing/knowledge-base/blob/master/lists/environment-variables.md#senzing_network
  • https://github.com/Senzing/knowledge-base/blob/master/lists/environment-variables.md#senzing_runas_user
  • https://github.com/Senzing/knowledge-base/blob/master/lists/environment-variables.md#senzing_var_dir

使用docker-compose

  1. 在docker-compose环境中运行。示例:

    console
    cd ${GIT_REPOSITORY_DIR}
    sudo \
      docker-compose up senzing-webapp
    
  2. 验证容器是否正在运行且可访问:

    1. 在Web浏览器中打开http://localhost:8081%EF%BC%88%E6%88%96%E7%94%A8%E4%B8%BB%E6%9C%BA%E5%90%8D%E6%88%96IP%E6%9B%BF%E6%8D%A2%60localhost%60%EF%BC%89%E3%80%82

    2. 或者,使用curl。示例:

      console
      curl http://machine-host-name:8081
      

使用docker

Docker网络

以下Docker容器通过Docker网络通信。

  1. :thinking: 查找或创建Docker网络。执行以下任一过程。

    1. 查找Docker网络。

      1. 列出Docker网络。示例:

        console
        sudo docker network ls
        
      2. :pencil2: 指定Docker网络。从docker network ls的NAME列中选择值。示例:

        console
        export SENZING_NETWORK=*网络名称*
        
    2. 创建Docker网络。

      1. :pencil2: 指定网络名称。示例:

        console
        export SENZING_NETWORK=sz-api-network
        
      2. 创建Docker网络。示例:

        console
        sudo docker network create -d bridge ${SENZING_NETWORK}
        
  2. 构造docker run的参数。示例:

    console
    export SENZING_NETWORK_PARAMETER="--net ${SENZING_NETWORK}"
    

运行

  1. 启动senzing-api-server。示例:

    console
    sudo docker run \
      --interactive \
      --name=senzing-api-server \
      --publish 8080:8080 \
      --rm \
      --tty \
      --volume ${SENZING_DATA_VERSION_DIR}:/opt/senzing/data \
      --volume ${SENZING_ETC_DIR}:/etc/opt/senzing \
      --volume ${SENZING_G2_DIR}:/opt/senzing/g2 \
      --volume ${SENZING_VAR_DIR}:/var/opt/senzing \
      ${SENZING_NETWORK_PARAMETER} \
      senzing/senzing-api-server \
        -concurrency 10 \
        -httpPort 8080 \
        -bindAddr all \
        -iniFile /etc/opt/senzing/G2Module.ini
    
  2. 运行实体搜索Web应用。示例:

    console
    sudo docker run \
      --env SENZING_API_SERVER_URL=http://senzing-api-server:8080 \
      --env SENZING_WEB_SERVER_PORT=8081 \
      --interactive \
      --name=senzing-webapp \
      --publish 8081:8081 \
      --rm \
      --tty \
      ${SENZING_NETWORK_PARAMETER} \
      senzing/entity-search-web-app
    
  3. 验证容器是否正在运行且可访问:

    1. 在Web浏览器中打开http://localhost:8081%EF%BC%88%E6%88%96%E7%94%A8%E4%B8%BB%E6%9C%BA%E5%90%8D%E6%88%96IP%E6%9B%BF%E6%8D%A2%60localhost%60%EF%BC%89%E3%80%82

    2. 或者,使用curl。示例:

      console
      curl http://machine-host-name:8081
      

使用SSL

senzing-webapp的主要Docker镜像支持通过HTTPS运行其Web服务器。为了以安全方式部署Web应用,必须在swarm配置中使用该镜像,而不是独立服务。有关swarm以及为什么这是必需的更多信息,请参见https://docs.docker.com/engine/swarm/secrets/

前提条件

  1. API版本> 1.25的docker客户端和守护程序。可以通过输入docker version检查docker客户端运行的API版本。
  2. Web服务器的有效SSL证书(server.key和server.cert)。(如果没有,可以临时使用自签名证书)

自签名证书

自签名证书足以建立安全的HTTPS连接,用于开发目的。不应在生产环境中使用,但如果只是想测试加密功能,这是一个可行的短期解决方案。需要在系统上安装OpenSSL来生成这些证书。可以进行https://www.google.com/search?q=using+self+signed+SSL+certificate%E6%88%96%E6%9F%A5%E7%9C%8B%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%EF%BC%8C%E7%94%9F%E6%88%90server.cert%E5%92%8Cserver.key%E6%96%87%E4%BB%B6%E5%90%8E%E5%86%8D%E5%9B%9E%E5%88%B0%E6%9C%AC%E8%8A%82%E3%80%82

使用Docker Stack配置SSL

为方便起见,我们包含了一个专门用于SSL配置的docker compose 文件。如果不熟悉stack的工作方式,建议从此示例开始(出于多种原因,stack部署需要不同的yml文件)。

打开该示例,会在文件底部看到两行:

yaml
  SZ_WEBAPP_SSL_CERT:
    file: '../CERTS/server.cert'
  SZ_WEBAPP_SSL_KEY:
    file: '../CERTS/server.key'

这些行告诉docker将两个密钥传递给docker compose文件中定义的服务。这两行应指向要使用的server.key和server.cert文件的位置。

senzing-api-server服务的配置可能与你的运行配置不同。应将已正常工作的docker-compose.yml文件中定义的配置选项复制到docker-stack.yml文件中。

senzing-webapp服务定义下的其他重要行是:

yaml
secrets:
      - source: SZ_WEBAPP_SSL_CERT
        target: server.cert
        uid: '1001'
        gid: '1001'
      - source: SZ_WEBAPP_SSL_KEY
        target: server.key
        uid: '1001'
        gid: '1001'

它们告诉webapp服务使用文件底部定义的密钥内容。这类似于传入文件,但docker密钥的工作方式比较特殊。

接下来,通过输入sudo SENZING_DATA_VERSION_DIR=${SENZING_DATA_VERSION_DIR} SENZING_ETC_DIR=${SENZING_ETC_DIR} SENZING_G2_DIR=${SENZING_G2_DIR} SENZING_VAR_DIR=${SENZING_VAR_DIR} docker stack deploy -c docker-stack.yml senzing-webapp将yml文件中定义的服务部署到swarm管理器。

通过输入docker stack ps senzing-webapp检查服务是否成功启动。结果应如下所示:

bash
ID                  NAME                                  IMAGE                               NODE                DESIRED STATE       CURRENT STATE               ERROR               PORTS
7mxc4jru51pl        senzing-webapp_senzing-api-server.1   senzing/senzing-api-server:latest   americium           Running             Running about an hour ago
rnguy9d2incb        senzing-webapp_senzing-webapp.1       senzing/entity-search-web-app:ssl   americium           Running             Running about an hour ago

然后可以使用curl -kvv https://localhost:8081向web服务器发起curl请求。输出应类似于以下内容:

bash
* Rebuilt URL to: https://localhost:8081/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 8081 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Unknown (8):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Client hello (1):
* TLSv1.3 (OUT), TLS Unknown, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=US; ST=OR; L=SenzingTown; O=Senzing; CN=localhost
*  start date: Nov 13 00:49:12 2019 GMT
*  expire date: Nov 12 00:49:12 2020 GMT
*  issuer: C=US; ST=OR; L=SenzingTown; O=Senzing; CN=localhost
*  SSL certificate verify result: self signed certificate (18), continuing anyway.
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
> GET / HTTP/1.1
> Host: localhost:8081
> User-Agent: curl/7.58.0
> Accept: */*

在此示例中使用的是自签名证书,但重要的是看到TLSvx.x握手和*Server certificate:*响应块。此时,可以在普通浏览器(Chrome、Firefox、Edge等)中打开服务器实例,例如https://localhost:8081%E3%80%82%E5%9C%B0%E5%9D%80%E6%A0%8F%E4%B8%AD%E5%9C%B0%E5%9D%80%E6%97%81%E8%BE%B9%E5%BA%94%E6%98%BE%E7%A4%BA%E8%AF%81%E4%B9%A6%E6%8F%90%E4%BE%9B%E7%9A%84SSL%E4%BF%A1%E6%81%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E8%87%AA%E7%AD%BE%E5%90%8D%E8%AF%81%E4%B9%A6%EF%BC%8C%E4%BC%9A%E7%9C%8B%E5%88%B0%E8%AD%A6%E5%91%8A%E6%B6%88%E6%81%AF%EF%BC%8C%E8%AF%A2%E9%97%AE%E6%98%AF%E5%90%A6%E7%BB%A7%E7%BB%AD%EF%BC%8C%E8%BF%99%E6%98%AF%E6%AD%A3%E5%B8%B8%E7%9A%84%E3%80%82

可以使用docker stack rm senzing-webapp关闭swarm节点。

管理区域

有一个管理区域,可用于创建新数据源并将数据导入这些数据源。要访问此功能,API服务器版本必须>=1.7.11,并且必须使用-enableAdmin标志启动,设置为true。

然后可以通过在运行webapp的同一域/主机名上浏览到/admin来访问管理区域。系统会提示输入Api Token,这是用于防止未经授权操作数据的默认安全机制。令牌在服务器启动时随机生成,并输出到启动容器所用的终端的标准输出中。出现提示时,将此令牌复制并粘贴到登录框中。

管理区域配置

支持三种安全模式:

  1. JWT/令牌基于:随机生成的密钥/短语/种子。这是默认模式,因为它是自包含的,不需要管理员或用户进行任何其他配置。
  2. SSO/代理:此模式向/admin/auth/sso/status发起请求,并检查响应是否为200。如果响应不是200,则用户被重定向到SENZING_WEB_SERVER_ADMIN_AUTH_REDIRECT环境变量值定义的登录页面。SSO/代理应配置为当用户未登录时,对/admin/auth/sso/status的请求返回401/403。
  3. 无:不推荐此模式。仅用于开发或调试目的。

变量:

  1. SENZING_WEB_SERVER_ADMIN_AUTH_MODE定义管理区域使用的安全模式。可能的值为SSO、JWT、EXTERNAL、NONE。
  2. SENZING_WEB_SERVER_ADMIN_AUTH_REDIRECT定义用户未通过身份验证时重定向的路径。在SSO

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 entity-search-web-app 镜像标签

docker pull docker.xuanyuan.run/senzing/entity-search-web-app:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull senzing/entity-search-web-app:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
senzing/entity-search-web-app
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 entity-search-web-app 镜像推荐

opensearchproject/opensearch logo

opensearchproject/opensearch

opensearchproject
OpenSearch官方Docker镜像,提供可扩展、灵活的开源搜索、分析和可观测性套件,包含OpenSearch搜索引擎和OpenSearch Dashboards管理可视化界面。
196 次收藏1亿+ 次下载
20 天前更新
camunda/identity logo

camunda/identity

camunda
Camunda流程引擎Docker镜像,用于部署和运行业务流程管理系统。
2 次收藏100万+ 次下载
15 天前更新
pingidentity/pingfederate logo

pingidentity/pingfederate

pingidentity
基于开放标准构建的认证与单点登录授权服务
53 次收藏1000万+ 次下载
17 天前更新
opensearchproject/opensearch-dashboards logo

opensearchproject/opensearch-dashboards

opensearchproject
OpenSearch Dashboards(官网:[]
50 次收藏1000万+ 次下载
20 天前更新
pingidentity/pingdirectory logo

pingidentity/pingdirectory

pingidentity
高性能数据存储,用于安全管理大规模的身份和配置文件数据
57 次收藏1000万+ 次下载
17 天前更新
pingidentity/pingaccess logo

pingidentity/pingaccess

pingidentity
为应用和API提供访问安全,支持实时且基于风险感知的资源授权
20 次收藏500万+ 次下载
17 天前更新

查看更多 entity-search-web-app 相关镜像