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

node-crossdock 是基于 Node.js 环境的集成测试专用镜像,专为跨服务(Cross-Service)集成测试场景设计。该镜像提供了轻量级的 Node.js 运行时环境,并集成了 crossdock 测试框架的核心能力,支持开发者在微服务架构中快速构建、执行跨服务交互的集成测试用例,验证多服务间的接口兼容性、数据流转及业务逻辑正确性。
docker pull node-crossdock:latest
基本命令格式:
docker run -it --rm \ -v /path/to/local/test/scripts:/app/tests \ # 挂载本地测试脚本目录 -e TARGET_SERVICE_URL="[***]" \ # 目标服务地址 -e TEST_TIMEOUT=30s \ # 测试超时时间 node-crossdock:latest \ npm run test /app/tests # 执行测试命令(假设测试脚本入口为 /app/tests/index.js)
说明:
/path/to/local/test/scripts:本地测试脚本目录,需包含 crossdock 测试用例(如使用 mocha、jest 等框架编写的测试文件)。mocha /app/tests、jest /app/tests)。| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
TARGET_SERVICE_URL | 待测试的目标服务基础 URL | http://localhost:8080 | [***] |
TEST_TIMEOUT | 单条测试用例超时时间 | 30s | 60s |
CROSSDOCK_LOG_LEVEL | 测试框架日志级别(debug/info/warn/error) | info | debug |
TEST_SCRIPT_ENTRY | 测试脚本入口文件路径(容器内路径) | /app/tests/index.js | /app/tests/integration.js |
NODE_ENV | Node.js 运行环境 | test | production |
适用于多服务集成测试场景(如测试 node-service 与 db-service 的交互):
# docker-compose.test.yml version: '3.8' services: test-runner: image: node-crossdock:latest volumes: - ./tests:/app/tests # 挂载本地测试脚本 environment: - TARGET_SERVICE_URL=[***] - TEST_TIMEOUT=45s - CROSSDOCK_LOG_LEVEL=debug depends_on: - node-service - db-service command: npm run test /app/tests node-service: image: your-node-service:latest # 待测试的 Node.js 服务 environment: - DB_HOST=db-service - DB_PORT=5432 depends_on: - db-service db-service: image: postgres:14-alpine # 依赖的数据库服务 environment: - POSTGRES_USER=test - POSTGRES_PASSWORD=test - POSTGRES_DB=test_db
使用方式:
docker-compose -f docker-compose.test.yml up --abort-on-container-exit
测试脚本需遵循 crossdock 测试框架的基本规范,典型结构(以 mocha 为例):
// /app/tests/integration.js const { expect } = require('chai'); const axios = require('axios'); describe('Node Service Integration Test', () => { const targetUrl = process.env.TARGET_SERVICE_URL; it('should return 200 when calling /health', async () => { const res = await axios.get(`${targetUrl}/health`); expect(res.status).to.equal(200); expect(res.data.status).to.equal('ok'); }); it('should create user via POST /users', async () => { const res = await axios.post(`${targetUrl}/users`, { name: 'test' }); expect(res.status).to.equal(201); expect(res.data.id).to.be.a('string'); }); });
axios、chai),建议在本地测试目录中添加 package.json,并通过 volumes 挂载 node_modules 目录(或在镜像构建时预安装)。docker network 或 docker-compose 自动网络),确保 TARGET_SERVICE_URL 可访问。--memory、--cpus 限制容器资源,避免影响其他服务。
免费版仅支持 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