本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Vulcan Stream提供从Vulcan Persistence到Vulcan Agents的单向通信通道。Vulcan Persistence需要与Vulcan Agents进行广播通信,以管理Agent池和控制执行中的检查。由于Agent可能无法从互联网访问,Stream提供Websocket流,供Agent连接以接收来自Persistence的输入。
!通信流程图
Vulcan Stream基于两个主要服务运行:
Vulcan Stream利用Postgres的NOTIFY/LISTEN功能将实时消息发布到Websocket流。
我们曾考虑使用AWS SNS和/或SQS接收Vulcan Persistence的通知并向Websocket流发布消息。但由于AWS SNS/SQS的特性、实现的简洁性,以及Vulcan基础设施中已将Postgres作为需求,我们认为NOTIFY/LISTEN功能是实现实时广播通知的最佳方案,具备适当的弹性和可扩展性。
适用于Vulcan生态系统中,当Vulcan Agents可能无法从互联网访问时,需Vulcan Persistence向多个Agent广播控制信息(如管理Agent池、控制检查执行)的场景,提供可靠的单向实时通信。
提供两个二进制文件:
假设您的机器上已安装Docker,且端口5432和8080没有服务监听。
go get -x github.com/adevinta/vulcan-stream/cmd/vulcan-stream docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_DB=stream postgres vulcan-stream ${GOPATH}/src/github.com/adevinta/vulcan-stream/_resources/config/local.toml
go get -x github.com/adevinta/vulcan-stream/cmd/vulcan-stream-test-client vulcan-stream-test-client ${GOPATH}/src/github.com/adevinta/vulcan-stream/_resources/config/local.toml
curl --include --no-buffer --header "Connection: Upgrade" --header "Upgrade: websocket" \ --header "Host: localhost:8080" --header "Origin: http://localhost:8080" \ --header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" --header "Sec-WebSocket-Version: 13" \ "http://localhost:8080/stream" & psql -c "NOTIFY events, '{\"action\":\"test\", \"check_id\":\"00000000-0000-0000-0000-000000000000\"}';" \ -U postgres -h localhost stream
可查看和修改Vulcan Stream配置文件:
_resources/config/local.toml
| 变量 | 描述 | 示例 |
|---|---|---|
| PORT | HTTP监听端口 | 8080 |
| LOG_LEVEL | 日志级别 | DEBUG |
| PG_(HOST|DB|USER|PWD|PORT) | PostgreSQL相关变量 | |
| STREAM | 流名称 | stream |
# 构建镜像 docker build . -t vs # 使用默认配置文件并通过环境变量自定义 docker run --env-file ./local.env vs # 使用自定义配置文件 docker run -v `pwd`/custom.toml:/app/config.toml vs


免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429