
如果你使用 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 镜像关于近期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
关于近期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
关于近期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
关于近期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
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 版本
基于 Alpine-Native Zulu OpenJDK JRE 17 的 stubby4j 版本
基于 Alpine-Native Zulu OpenJDK JRE 16 的 stubby4j 版本
基于 Alpine-Native Zulu OpenJDK JRE 11 的 stubby4j 版本
基于 Alpine-Native Zulu OpenJDK JRE 8 的 stubby4j 版本
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 镜像添加到您的服务栈:
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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务