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

xelos/xelos-worker

xelos

PHP无状态工作容器,用于处理XELOS发出的任务,支持文档(LibreOffice)、视频(ffmpeg)、图像(libvips)的转换与处理,基于OpenSwoole,通过HTTP调用,适用于Web环境中的文件处理需求。

下载次数: 0状态:社区镜像维护者:xelos仓库类型:镜像最近更新:14 天前
让 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。
点击查看

XELOS Worker容器

关于此容器

XELOS Worker是一个无状态Docker容器,用于处理XELOS系统发出的任务。基础容器基于PHP CLI镜像构建,集成OpenSwoole服务器和API控制器,通过HTTP调用进行任务处理。

  • 镜像基于php:*-cli基础镜像,并安装OpenSwoole
  • OpenSwoole文档:[***]

核心功能与特性

  • 多类型任务处理:支持文档转换、视频处理、图像处理等多种任务
  • 无状态设计:可水平扩展,适应不同负载需求
  • 基于OpenSwoole:提供高性能的HTTP服务能力
  • 健康检查支持:内置健康检查配置,确保服务可用性
  • 可配置性:通过环境变量调整线程数、包大小限制等参数
  • 安全增强:支持安全选项配置(如no-new-privileges、权限丢弃等)

使用场景与适用范围

适用于需要处理以下任务的Web环境,特别是作为XELOS系统的组成部分:

  • 办公文档预览(转换为PDF格式)
  • 视频格式转换(转为MP4)及缩略图、字幕提取
  • 图像转换与大小调整
  • 需要高性能、可扩展的后台任务处理场景

安装指南

XELOS当前使用LibreOffice Worker、Video Worker和Image Worker作为系统工作器库的一部分。以下是在docker-compose.yml中配置这些工作器服务的说明:

LibreOffice Worker

LibreOffice Worker用于将办公文档转换为PDF格式,便于文档预览。

yaml
  libreoffice:
    image: docker.xuanyuan.run/xelos/xelos-worker:libreoffice
    restart: unless-stopped
    healthcheck:
      test: [ "CMD", "curl","-fk", "https://localhost:9501" ]
      timeout: 20s
      retries: 10
    networks:
      - internal-network

Video Worker

Video Worker使用ffmpeg将视频转换为MP4格式,并可提取缩略图、字幕,适用于Web环境。

yaml
  video:
    image: docker.xuanyuan.run/xelos/xelos-worker:video
    restart: unless-stopped
    healthcheck:
      test: [ "CMD", "curl","-fk", "https://localhost:9501" ]
      timeout: 20s
      retries: 10
    networks:
      - internal-network

Image Worker

Image Worker使用libvips进行图像转换和大小调整。

yaml
  image:
    image: docker.xuanyuan.run/xelos/xelos-worker:image
    restart: unless-stopped
    healthcheck:
      test: [ "CMD", "curl","-fk", "https://localhost:9501" ]
      timeout: 20s
      retries: 10
    networks:
      - internal-network

高级设置、安全选项与安全上下文

可在docker-compose.yml中添加以下高级选项以提升安全性和性能。使用视频工作器时,若使用tmpfs请确保有足够内存;也可使用卷或设置read_only: false。

yaml
  image:
    ...
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    read_only: true
    tmpfs:
      - /tmp
      - /server/certs

建议在内部网络中运行工作器容器。LibreOffice在处理特制文档时可能尝试加载外部资源。

yaml
networks:
  internal:
    driver: bridge
    internal: true

如何在项目中设置基础容器

  • 调整docker-compose.yml、Docker Swarm或K8S部署配置,包含所需的工作器容器
  • 服务容器默认使用9501端口
yaml
services:
  info:
    image: docker.xuanyuan.run/xelos/xelos-worker:base-alpine
    restart: unless-stopped
    networks:
      - backend

从XELOS Web容器内测试Echo服务:

bash
curl -X 'POST' 'http://worker:9501/info/echo' -H 'accept: application/json' -H 'Content-Type: application/json'   -d '{"Hello World"}'

配置与环境变量

每个工作器通常包含从环境读取的预定义设置,默认适用于其设计任务。如有需要,可修改以下环境变量:

变量默认值描述
WORKER_THREAD_NUM5单个容器中使用的工作线程数
WORKER_PACKAGE_MAX_LENGTH_MB32最大包长度(如文件上传大小)
WORKER_DEBUG0启用调试模式以防止临时文件自动清理
WORKER_DISABLE_SSL0工作器默认使用SSL,设为1禁用
WORKER_SSL_CERT_FILEundefined自定义SSL/TLS证书(PEM格式)路径
WORKER_SSL_KEY_FILEundefined自定义SSL/TLS密钥(PEM格式)路径
WORKER_SSL_VERIFYPEER0使用回调时验证SSL/TLS连接

客户端/Composer依赖

使用工作器服务容器的最佳方式是通过相应的Composer客户端。该依赖目前仅在私有Composer镜像中可用。更新composer.json以引用镜像:

json
{
    "repositories": [
        {
            "type": "composer",
            "url": "https://repo.xelos.net/composer/",
            "canonical": false
        }
    ],
    "require": {
        "xelos-worker/php-clients": "*"
    }
}

LibreOffice Worker示例

php
<?php
$sourceFile = '/tmp/myWord.docx';
$targetFile = '/tmp/myWordAsPDF.pdf';
(new \XELOSWorker\Client\Libreoffice('https://libreoffice:9501'))->convert($sourceFile, $targetFile);

Video Worker示例

php
<?php
$pathToVideoFile = '/tmp/myVideo.mov';
$pathToConvertedVideoFile = '/tmp/myVideo.mp4';
try {
    $videoWorker = (new \XELOSWorker\Client\Video('https://video:9501'));
    // 可选:检查支持的格式 
    // $videoWorker->getSupportedFileExtensions();
    
    // 步骤1:上传视频到工作器
    $fileInfo = $videoWorker->uploadVideoFile($pathToVideoFile);
    
    // 步骤2:生成预览缩略图
    $previewImages = $videoWorker->generatePreviewImages();
    foreach ($previewImages as $previewImage) {
        $thumbCount = \basename(\substr($previewImage['downloadFileId'], \strpos($previewImage['downloadFileId'], ':')+1));
        $saveTargetFile = $destinationFolder.$thumbCount;
        $videoWorker->downloadFile($saveTargetFile, $previewImage['downloadFileId']);
    }
    
    // 步骤3:将视频编码为特定质量
    $videoWorker->encodeVideo($quality = 'sd');
    
    // 步骤4:从工作器下载编码后的视频
    $videoWorker->downloadFile($pathToConvertedVideoFile, $fileInfo['fileId'].':sd');
    
} catch(Exception $exception){
    // 错误处理
}

Image Worker示例

php
<?php
$pathToPDF = '/tmp/myWordAsPDF.pdf';
$imgFile = '/tmp/preview.png';
$resizedImgFile = '/tmp/preview-resized.png';
try {
    $imageWorker = (new \XELOSWorker\Client\Image('https://image:9501'));
    $imageWorker->pdfToImage($pathToPDF, $imgFile, $page = 0, $dpi = 300);
    $imageWorker->thumbnail($imgFile, $resizedImgFile, $width = 800, $height = 600, $crop = true);
} catch (Exception $exception) {
    // 错误处理
}

使用TLS/HTTPS

容器在首次启动时会创建自签名证书,如未通过环境变量指定,将在以下位置检查公钥/私钥证书:

  • /server/certs/ssl.crt
  • /server/certs/ssl.key

有关TLS实现的更多信息,请参阅OpenSwoole文档:[***]

如何设置开发环境以贡献代码

本地挂载此仓库代码:

yaml
services:
  worker:
    image: docker.xuanyuan.run/xelos/xelos-worker:base-alpine
    restart: unless-stopped
    ports:
      - 9501:9501
    volumes:
      - ../xelos-worker:/server/xelos-worker
    networks:
      - backend

内部信息

如计划重建或合并工作器容器,以下信息可能有用:

  • 当前默认入口点为 php /server/xelos-worker/startup.php
  • 默认命令运行单个服务,例如:CMD ["--service=libreoffice"]
  • 可在单个容器中合并多个服务,例如:CMD ["--service=libreoffice,video"],或省略--service参数运行所有可用服务
  • 可启动服务的调试模式以防止提前退出,例如:CMD ["--service=libreoffice","--dev-mode=true"]
  • 默认用户ID为*(worker),组ID为***(worker)**

也可使用提供的docker/docker-compose.yml快速启动服务进行测试。

联系方式

  • BLUEEND / Stefan

镜像拉取方式

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

轩辕镜像加速拉取命令点我查看更多 xelos-worker 镜像标签

docker pull docker.xuanyuan.run/xelos/xelos-worker:<标签>

使用方法:

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

DockerHub 原生拉取命令

docker pull xelos/xelos-worker:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 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

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · 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访问体验非常流畅,大镜像也能快速完成下载。"

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

更多 xelos-worker 镜像推荐

airbyte/worker logo

airbyte/worker

airbyte
暂无描述
5 次收藏1000万+ 次下载
10 天前更新
octopusdeploy/worker-tools logo

octopusdeploy/worker-tools

octopusdeploy
包含Octopus步骤常用工具的Docker镜像,是设置工作器执行容器的推荐选择,支持在工作器或Octopus Server上运行部署步骤时选择容器作为执行环境。
4 次收藏1000万+ 次下载
27 天前更新
airbyte/billing-worker logo

airbyte/billing-worker

airbyte
暂无描述
10万+ 次下载
10 天前更新
camunda/zeebe-http-worker logo

camunda/zeebe-http-worker

camunda
社区维护的Zeebe工作器,用于发起HTTP调用(如调用REST服务),基于Java内置HttpClient实现。
1 次收藏5万+ 次下载
5 年前更新
octopuslabs/tentacle-worker logo

octopuslabs/tentacle-worker

octopuslabs
基于Linux的Docker镜像,包含Octopus Deploy的tentacle及多种常用软件(如云服务CLI、开发工具、容器与基础设施工具等),适用于作为Octopus Deploy的worker或部署目标,基于octopuslabs/tentacle基础镜像构建。
50万+ 次下载
4 年前更新
airbyte/airbyte-base-java-worker-image logo

airbyte/airbyte-base-java-worker-image

airbyte
暂无描述
10万+ 次下载
1 年前更新

查看更多 xelos-worker 相关镜像