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

stubby4j Docker 镜像关于近期NIST更新的CVE-2022-1471详情:SnakeYAML,latest、7.6.1和7.6.0 Docker镜像标签现已运行SnakeYAML v2.x.x,作为缓解措施的一部分,相关工作记录在以下工单中:[***]
关于近期Apache Log4j 2漏洞更新:log4j-2.17.1,所有使用log4j2库的stubby4j Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:[***]
关于近期Apache Log4j 2漏洞更新:log4j-2.17.0,所有使用log4j2库的stubby4j Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:[***]
关于近期Apache Log4j 2漏洞更新:log4j-2.16.0,所有使用log4j2库的stubby4j Docker镜像标签已重新构建,作为缓解措施的一部分,相关工作记录在以下工单中:[***]
Dockerfile 链接以下 stubby4j Docker镜像可用(基于Alpine-Native Zulu OpenJDK镜像构建):
stubby4j v7.x.x 版本构建(镜像标签命名规范为 7.x.x-jreXX)master)分支构建(镜像标签命名规范为 latest-jreXX)更多信息参见 [***]
latest-jre21 (linux/amd64, linux/arm64)7.6.1-jre21 (linux/amd64, linux/arm64)latest-jre17 (linux/amd64, linux/arm64)7.6.1-jre17 (linux/amd64, linux/arm64)7.6.0-jre17 (linux/amd64, linux/arm64)latest-jre16 (linux/amd64)7.5.2-jre16 (linux/amd64)latest-jre11 (linux/amd64, linux/arm64)7.6.1-jre11 (linux/amd64, linux/arm64)7.6.0-jre11 (linux/amd64, linux/arm64)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.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_CONFIG | main.yaml | 包含存根定义的YAML配置文件名 |
STUBS_PORT | 8882 | 存根门户端口 |
ADMIN_PORT | 8889 | 管理门户端口 |
STUBS_TLS_PORT | 7443 | SSL上的存根门户端口 |
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/dataYAML_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将 stubby4j 镜像添加到您的服务栈:
# 此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
参见烟雾测试 [[]]([]
免费版仅支持 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