本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

stubby4j Docker 镜像下载 - 轩辕镜像

stubby4j 镜像详细信息和使用指南

stubby4j 镜像标签列表和版本信息

stubby4j 镜像拉取命令和加速下载

stubby4j 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

stubby4j
azagniotov/stubby4j

stubby4j 镜像详细信息

stubby4j 镜像标签列表

stubby4j 镜像使用说明

stubby4j 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

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

stubby4j 镜像详细说明

stubby4j 使用指南

stubby4j 配置说明

stubby4j 官方文档

*** stubby4j Docker 镜像

安全更新

  • [2024-01-26] CVE-2022-1471 (严重)

    关于近期NIST更新的CVE-2022-1471详情:SnakeYAML,latest7.6.17.6.0 Docker镜像标签现已运行SnakeYAML v2.x.x,作为缓解措施的一部分,相关工作记录在以下工单中:[***]

  • [2022-01-02] CVE-2021-44832 (中等)

    关于近期Apache Log4j 2漏洞更新:log4j-2.17.1,所有使用log4j2库的stubby4j Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:[***]

  • [2021-12-26] CVE-2021-45105 (高)

    关于近期Apache Log4j 2漏洞更新:log4j-2.17.0,所有使用log4j2库的stubby4j Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:[***]

  • [2021-12-16] CVE-2021-44228 (严重), CVE-2021-45046 (严重)

    关于近期Apache Log4j 2漏洞更新:log4j-2.16.0,所有使用log4j2库的stubby4j Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:[***]

快速参考

  • 源码仓库:[***]
  • 文档:[***]
  • 维护者:Alexander Zagniotov(stubby4j项目)
  • 获取帮助:[***] 或 StackOverflow
  • 变更日志:[***]

支持的标签及对应 Dockerfile 链接

以下 stubby4j Docker镜像可用(基于Alpine-Native Zulu OpenJDK镜像构建):

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

更多信息参见 [***]

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

  • latest-jre21 (linux/amd64, linux/arm64)
  • 7.6.1-jre21 (linux/amd64, linux/arm64)

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

  • latest-jre17 (linux/amd64, linux/arm64)
  • 7.6.1-jre17 (linux/amd64, linux/arm64)
  • 7.6.0-jre17 (linux/amd64, linux/arm64)

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

  • latest-jre16 (linux/amd64)
  • 7.5.2-jre16 (linux/amd64)

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

  • latest-jre11 (linux/amd64, linux/arm64)
  • 7.6.1-jre11 (linux/amd64, linux/arm64)
  • 7.6.0-jre11 (linux/amd64, linux/arm64)

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

  • latest-jre8 (linux/amd64, linux/arm64)
  • 7.6.1-jre8 (linux/amd64, linux/arm64)
  • 7.6.0-jre8 (linux/amd64, linux/arm64)

什么是 stubby4j

HTTP/1.1HTTP/2WebSocket 服务器,用于在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/GID1001(用户 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 发布/暴露容器的默认端口 888288897443,分别对应存根门户、管理门户和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 发布/暴露容器的端口 999188898443,分别对应存根门户、管理门户和SSL存根门户
  • 7.5.2-jre8 是指定 stubby4j 版本的标签。参见上文列出的相关标签

在 Docker Compose 中运行

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

yaml
# 此compose文件将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

参见烟雾测试 [[]]([]

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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