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

azagniotov/stubby4j

azagniotov

官方stubby4j镜像,支持多种JRE版本,提供WebSocket、HTTP/2和HTTP/1.1协议的存根/模拟服务器,适用于微服务架构中的集成测试、契约测试和行为测试。

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

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。
点击查看

官方 stubby4j Docker 镜像

安全更新

  • [2024-01-26] https://nvd.nist.gov/vuln/detail/CVE-2022-1471 (严重)

    关于近期NIST更新的https://nvd.nist.gov/vuln/detail/CVE-2022-1471%EF%BC%8C%60latest%60%E3%80%81%607.6.1%60%E5%92%8C%607.6.0%60 Docker镜像标签现已运行SnakeYAML v2.x.x,作为缓解措施的一部分,相关工作记录在以下工单中:https://github.com/azagniotov/stubby4j/issues/460

  • [2022-01-02] https://nvd.nist.gov/vuln/detail/CVE-2021-44832 (中等)

    关于近期https://logging.apache.org/log4j/2.x/security.html#log4j-2.17.1%EF%BC%8C%E6%89%80%E6%9C%89%E4%BD%BF%E7%94%A8%60log4j2%60%E5%BA%93%E7%9A%84%60stubby4j%60 Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:https://github.com/azagniotov/stubby4j/issues/445

  • [2021-12-26] https://nvd.nist.gov/vuln/detail/CVE-2021-45105 (高)

    关于近期https://logging.apache.org/log4j/2.x/security.html#log4j-2.17.0%EF%BC%8C%E6%89%80%E6%9C%89%E4%BD%BF%E7%94%A8%60log4j2%60%E5%BA%93%E7%9A%84%60stubby4j%60 Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:https://github.com/azagniotov/stubby4j/issues/433

  • [2021-12-16] https://nvd.nist.gov/vuln/detail/CVE-2021-44228 (严重), https://nvd.nist.gov/vuln/detail/CVE-2021-45046 (严重)

    关于近期https://logging.apache.org/log4j/2.x/security.html#log4j-2.16.0%EF%BC%8C%E6%89%80%E6%9C%89%E4%BD%BF%E7%94%A8%60log4j2%60%E5%BA%93%E7%9A%84%60stubby4j%60 Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:https://github.com/azagniotov/stubby4j/issues/416

快速参考

  • 源码仓库:https://github.com/azagniotov/stubby4j
  • 文档:[***]
  • 维护者:https://github.com/azagniotov/stubby4j
  • 获取帮助:https://github.com/azagniotov/stubby4j/issues 或 http://stackoverflow.com/questions/tagged/stubby4j
  • 变更日志:https://github.com/azagniotov/stubby4j/blob/master/CHANGELOG.md

支持的标签及对应 Dockerfile 链接

以下 stubby4j Docker镜像可用(基于https://hub.docker.com/r/azul/zulu-openjdk-alpine%E9%95%9C%E5%83%8F%E6%9E%84%E5%BB%BA%EF%BC%89%EF%BC%9A

  • 从标记的 stubby4j v7.x.x 版本构建(镜像标签命名规范为 7.x.x-jreXX)
  • 从默认(即 master)分支构建(镜像标签命名规范为 latest-jreXX)

更多信息参见 https://github.com/azagniotov/stubby4j/blob/master/CHANGELOG.md

基于 Alpine-Native Zulu OpenJDK JRE 21 的 stubby4j 版本

  • https://github.com/azagniotov/stubby4j/blob/master/docker/jdk21/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.1/docker/jdk21/Dockerfile.arm64

基于 Alpine-Native Zulu OpenJDK JRE 17 的 stubby4j 版本

  • https://github.com/azagniotov/stubby4j/blob/master/docker/jdk17/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.1/docker/jdk17/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.0/docker/jdk17/Dockerfile.arm64

基于 Alpine-Native Zulu OpenJDK JRE 16 的 stubby4j 版本

  • https://github.com/azagniotov/stubby4j/blob/master/docker/jdk16/Dockerfile
  • https://github.com/azagniotov/stubby4j/blob/v7.5.2/docker/jdk16/Dockerfile

基于 Alpine-Native Zulu OpenJDK JRE 11 的 stubby4j 版本

  • https://github.com/azagniotov/stubby4j/blob/master/docker/jdk11/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.1/docker/jdk11/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.0/docker/jdk11/Dockerfile.arm64

基于 Alpine-Native Zulu OpenJDK JRE 8 的 stubby4j 版本

  • https://github.com/azagniotov/stubby4j/blob/master/docker/jdk8/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.1/docker/jdk8/Dockerfile.arm64
  • https://github.com/azagniotov/stubby4j/blob/v7.6.0/docker/jdk8/Dockerfile.arm64

什么是 stubby4j?

HTTP/1.1、HTTP/2 和 WebSocket 服务器,用于在Docker和非容器环境中存根外部系统,适用于微服务架构(REST、SOAP、WSDL等)的集成测试、契约测试和行为测试。

stubby4j 的部分核心功能

* HTTP/1.1 或 HTTP/2 请求验证和HTTP响应存根
* 支持TLS协议版本1.0、1.1、1.2和1.3
* 支持基于TCP的HTTP/2(h2c)和基于TLS的HTTP/2(h2,使用ALPN扩展的TLS v1.2或更高版本)
* 支持基于HTTP/1.1的WebSocket协议(带或不带TLS)
* WebSocket请求验证、响应存根、服务器推送等
* 在基于Docker的微服务架构中存根外部服务
* 避免依赖的API不存在或未完成时对生产力的负面影响
* 请求代理 - 配置代理/拦截,将请求代理到另一个服务的能力
* 模拟真实API无法可靠产生的边缘情况和/或故障模式
* 故障注入,在同一URI上返回X次正常响应后返回错误响应

... 以及更多功能!有关功能和能力的更多信息,请参阅 [***]

如何使用此镜像

环境变量

stubby4j 镜像使用环境变量进行配置。v7.2.0版本之前(不含v7.2.0),可用环境变量如下:

可用变量默认值描述
YAML_CONFIGmain.yaml包含存根定义的YAML配置文件名
STUBS_PORT8882存根门户端口
ADMIN_PORT8889管理门户端口
STUBS_TLS_PORT7443SSL上的存根门户端口
WITH_ARGS无默认值WITH_ARGS="--<参数> .. --<参数>" 参见 可用参数

启动 stubby4j 实例

请注意,在所有 stubby4j Docker镜像中,ENTRYPOINT 指令前会设置 UID/GID 为 1001(用户 stubby4j 和组 stubby4j),以避免以root用户运行服务。

基本命令

使用以下最基本命令即可简单启动 stubby4j 实例:

$ docker run --rm \
    --env YAML_CONFIG=stubs.yaml \
    --volume <主机机器上YAML配置文件所在目录>:/home/stubby4j/data \
    -p 8882:8882 -p 8889:8889 -p 7443:7443 \
    azagniotov/stubby4j:<标签>

... 其中:

  • <主机机器上YAML配置文件所在目录> 是主机上包含要映射的YAML配置文件的目录,将映射到容器卷 /home/stubby4j/data
  • 通过 YAML_CONFIG 环境变量传递 stubs.yaml 作为存根定义的YAML配置文件名
  • -p 发布/暴露容器的默认端口 8882、8889 和 7443,分别对应存根门户、管理门户和SSL存根门户
  • <标签> 指定要使用的 stubby4j 版本标签。参见上文列出的相关标签

例如:

$ docker run --rm \
    --env YAML_CONFIG=stubs.yaml \
    --volume /Users/zaggy/docker-playground/yaml:/home/stubby4j/data \
    -p 8882:8882 -p 8889:8889 -p 7443:7443 \
    azagniotov/stubby4j:7.5.2-jre8

完整命令

以下命令示例启动 stubby4j 实例时使用了所有环境变量。有关 --env WITH_ARGS="..." 变量中可使用的所有参数,请参见 可用参数。注意 WITH_ARGS 的值必须加引号:

docker run --rm \
    --env YAML_CONFIG=stubs.yaml \
    --env STUBS_PORT=9991 \
    --env ADMIN_PORT=8889 \
    --env STUBS_TLS_PORT=8443 \
    --env WITH_ARGS="--enable_tls_with_alpn_and_http_2 --disable_stub_caching --debug --watch" \
    --volume /Users/zaggy/docker-playground/yaml:/home/stubby4j/data \
    -p 9991:9991 -p 8889:8889 -p 8443:8443 \
    azagniotov/stubby4j:7.5.2-jre8

... 该命令:

  • 通过 YAML_CONFIG 环境变量传递 stubs.yaml 作为 /Users/zaggy/docker-playground/yaml 下的主YAML配置文件名
  • 通过 STUBS_PORT 环境变量传递 9991 作为存根门户端口
  • 通过 ADMIN_PORT 环境变量传递 8889 作为管理门户端口
  • 通过 STUBS_TLS_PORT 环境变量传递 8443 作为SSL存根门户端口
  • 通过 WITH_ARGS 环境变量传递 --enable_tls_with_alpn_and_http_2(v7.4.0及以上版本支持)以启用基于TCP的HTTP/2(h2c)和基于TLS的HTTP/2(h2,使用ALPN扩展的TLS v1.2或更高版本)。若未设置 --enable_tls_with_alpn_and_http_2,则HTTP/2不启用。
  • 通过 WITH_ARGS 环境变量传递 --disable_stub_caching 以禁用存根在内存中的缓存(当存根成功匹配传入的HTTP请求时)。若未设置 --disable_stub_caching,则默认启用内存缓存。
  • 通过 WITH_ARGS 环境变量传递 --debug 以使 stubby4j 将原始传入HTTP请求输出到控制台。若未设置 --debug,则默认禁用请求输出。
  • 通过 WITH_ARGS 环境变量传递 --watch 以使 stubby4j 定期扫描YAML配置和引用的外部文件(如有)的最后修改日期变化。扫描间隔为100ms。若自上次扫描后最后修改日期发生变化,则重新加载存根配置。若未设置 --watch,则默认禁用定期扫描。
  • -p 发布/暴露容器的端口 9991、8889 和 8443,分别对应存根门户、管理门户和SSL存根门户
  • 7.5.2-jre8 是指定 stubby4j 版本的标签。参见上文列出的相关标签

在 Docker Compose 中运行

您可以使用Docker Compose将 stubby4j 镜像添加到您的服务栈:

yaml
# 此compose文件将stubby4j(https://hub.docker.com/r/azagniotov/stubby4j)添加到您的服务栈
# 参见 https://hub.docker.com/r/azagniotov/stubby4j 的“环境变量”部分
version: '3.8'
services:
  stubby4j:
    image: azagniotov/stubby4j:latest-jre8 # 也可使用其他标签:latest-jre11, latest-jre15等
    volumes:
      - "<主机机器上YAML配置文件所在目录>:/home/stubby4j/data"
    container_name: stubby4j
    ports:
      - 8882:8882
      - 8889:8889
      - 7443:7443
    environment:
      YAML_CONFIG: main.yaml
      STUBS_PORT: 8882
      ADMIN_PORT: 8889
      STUBS_TLS_PORT: 7443
      WITH_ARGS: "--enable_tls_with_alpn_and_http_2 --debug --watch"

... 其中 <主机机器上YAML配置文件所在目录> 是主机上包含 stubby4j YAML配置文件的目录,将映射到容器卷 /home/stubby4j/data

参见烟雾测试 [https://github.com/azagniotov/stubby4j/docker/smoke-test/docker-compose.yml%5D(https://github.com/azagniotov/stubby

镜像拉取方式

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

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

docker pull docker.xuanyuan.run/azagniotov/stubby4j:<标签>

使用方法:

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

DockerHub 原生拉取命令

docker pull azagniotov/stubby4j:<标签>

更多 stubby4j 镜像推荐

viniciusramosdefaria/stubby4j logo

viniciusramosdefaria/stubby4j

viniciusramosdefaria
暂无描述
1万+ 次下载
7 年前更新

查看更多 stubby4j 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 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 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题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访问体验非常流畅,大镜像也能快速完成下载。"

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