轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
pactfoundation/pact-cli
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

pact-cli Docker 镜像下载 - 轩辕镜像

pact-cli 镜像详细信息和使用指南

pact-cli 镜像标签列表和版本信息

pact-cli 镜像拉取命令和加速下载

pact-cli 镜像使用说明和配置指南

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

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

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

pact-cli
pactfoundation/pact-cli

pact-cli 镜像详细信息

pact-cli 镜像标签列表

pact-cli 镜像使用说明

pact-cli 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于发布和验证契约(pacts),以及与Pact Broker交互的Docker镜像,集成了Pact Ruby实现中的所有CLI工具,提供统一入口点。
11 收藏0 次下载activepactfoundation镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

pact-cli 镜像详细说明

pact-cli 使用指南

pact-cli 配置说明

pact-cli 官方文档

Pact CLI

镜像概述和主要用途

Pact CLI Docker镜像整合了Pact Ruby实现中的所有CLI工具,功能上与pact-ruby-standalone一致,但打包为Docker容器形式,提供单一顶层入口点pact。该镜像主要用于发布和验证契约(pacts),以及与Pact Broker进行交互,简化契约测试流程的集成和执行。

核心功能和特性

  • 统一入口点:通过单一命令pact访问所有Pact CLI功能
  • 多平台支持:提供单平台(默认amd64)和多平台(amd64、arm、arm64)镜像
  • 完整Pact功能:支持发布pacts到Pact Broker、验证pacts against提供者、与Pact Broker交互(如检查部署就绪性、创建版本标签等)
  • 灵活认证:支持Pact Broker的用户名密码认证和Bearer Token认证(如PactFlow)

平台支持

单平台镜像

默认情况下,常规标签(如latest)仅构建amd64架构:

  • --platform=linux/amd64

    docker run --rm -it pactfoundation/pact-cli:latest /bin/sh -c 'uname -sm'
    

多平台镜像

多平台镜像可通过在任何发布标签后添加-multi获取,支持以下架构:

  • --platform=linux/amd64

  • --platform=linux/arm

  • --platform=linux/arm64

    docker run --rm -it pactfoundation/pact-cli:latest-multi /bin/sh -c 'uname -sm'
    

使用方法

环境准备

可使用公共测试Pact Broker进行示例操作,设置以下环境变量:

export PACT_BROKER_BASE_URL="[***]"
export PACT_BROKER_USERNAME="dXfltyFMgNOFZAxr8io9wJ37iUpY42M"
export PACT_BROKER_PASSWORD="O5AIZWxelWbLvqMd8PkAVycBJh2Psyg1"

示例中的$(date +%s)用于生成伪随机GIT_COMMIT。若使用Bearer Token认证的Pact Broker(如PactFlow),请设置PACT_BROKER_TOKEN而非用户名和密码。

Docker注意事项

  • 发布pacts时:需使用-v标志将本地pacts文件挂载到容器中,示例见下文。
  • 连接本地Pact Broker:若连接运行在localhost的Pact Broker,需添加--network="host"参数,使容器解析localhost为宿主机而非容器自身。

查看帮助

$ docker run --rm pactfoundation/pact-cli:latest help
Commands:
  pact-broker                     # 与Pact Broker交互
  publish PACT_DIRS_OR_FILES ...  # 将pacts发布到Pact Broker
  verify PACT_URL ...             # 针对提供者验证pact(s)
  version                         # 打印版本信息
  help [COMMAND]                  # 描述可用命令或特定命令的帮助

$ docker run --rm pactfoundation/pact-cli:latest pact-broker help
Commands:
  pact-broker can-i-deploy -a, --pacticipant=PACTICIPANT -b, --broker-base-url=BRO...  # 检查是否可以部署
  pact-broker create-version-tag -a, --pacticipant=PACTICIPANT -b, --broker-base-u...  # 为版本创建标签
  pact-broker create-webhook URL -X, --request=REQUEST -b, --broker-base-url=BROKE...  # 创建Webhook
  pact-broker describe-version -a, --pacticipant=PACTICIPANT -b, --broker-base-url...  # 描述版本信息
  pact-broker help [COMMAND]                                                      ...  # 显示命令帮助
  pact-broker publish PACT_DIRS_OR_FILES ... -a, --consumer-app-version=CONSUMER_A...  # 发布pacts到Broker
  pact-broker version                                                             ...  # 显示版本

发布Pacts

可克隆仓库***:pact-foundation/pact-ruby-cli.git([***]

docker run --rm \
 -w ${PWD} \
 -v ${PWD}:${PWD} \
 -e PACT_BROKER_BASE_URL \
 -e PACT_BROKER_USERNAME \
 -e PACT_BROKER_PASSWORD \
  pactfoundation/pact-cli:latest \
  publish \
  ${PWD}/example/pacts \
  --consumer-app-version fake-git-sha-for-demo-$(date +%s) \
  --tag-with-git-branch

所有发布选项详见官方文档。

演示:发布容器内置示例Pact

docker run --rm  \
  -e PACT_BROKER_BASE_URL  \
  -e PACT_BROKER_USERNAME  \
  -e PACT_BROKER_PASSWORD  \
  pactfoundation/pact-cli:latest \
  publish \
  /pact/example/pacts \
  --consumer-app-version fake-git-sha-for-demo-$(date +%s)

验证Pacts

参考示例docker-compose-verify.yml:

PACT_BROKER_PUBLISH_VERIFICATION_RESULTS=true GIT_COMMIT=fake-git-sha-for-demo$(date +%s) GIT_BRANCH=master \
  docker-compose -f docker-compose-verify.yml \
  up --build --abort-on-container-exit --exit-code-from pact_verifier

所有验证选项详见官方文档。

检查部署就绪性(Can I deploy)

docker run --rm \
 -e PACT_BROKER_BASE_URL \
 -e PACT_BROKER_USERNAME \
 -e PACT_BROKER_PASSWORD \
  pactfoundation/pact-cli:latest \
  pact-broker can-i-deploy \
  --pacticipant docker-example-consumer \
  --latest

所有选项详见官方文档。

为契约参与者版本创建标签

docker run --rm \
 -e PACT_BROKER_BASE_URL \
 -e PACT_BROKER_USERNAME \
 -e PACT_BROKER_PASSWORD \
  pactfoundation/pact-cli:latest \
  pact-broker create-version-tag \
  --pacticipant docker-example-consumer \
  --version fake-git-sha-for-demo-$(date +%s) \
  --tag prod

所有选项详见官方文档。

模拟服务(Mock Service)

docker run -dit \
  --rm \
  --name pact-mock-service \
  -p 1234:1234 \
  -v ${HOST_PACT_DIRECTORY}:/tmp/pacts \
  pactfoundation/pact-cli:latest \
  mock-service \
  -p 1234 \
  --host 0.0.0.0 \
  --pact-dir /tmp/pacts

-it参数用于支持通过ctl+c停止容器。使用docker stop时容器关闭可能较慢,这是已知问题。所有选项详见官方文档。

使用自定义证书

CA证书

docker run --rm \
 -v <宿主机证书文件路径>:/tmp/cacert.pem \
 -e SSL_CERT_FILE=/tmp/cacert.pem \
 pactfoundation/pact-cli:latest ...

也可设置SSL_CERT_DIR并挂载证书目录而非单个文件。

客户端证书认证(x509)

连接使用x509客户端证书认证的Pact Broker:

docker run --rm \
 -v <宿主机客户端证书文件路径>:/tmp/clientcert.pem \
 -v <宿主机客户端密钥文件路径>:/tmp/clientkey.pem \
 -e X509_CLIENT_CERT_FILE=/tmp/clientcert.pem \
 -e X509_CLIENT_KEY_FILE=/tmp/clientkey.pem \
 pactfoundation/pact-cli:latest ...

容器内Shell访问

为符合Docker一致性规则,容器提供sh访问(注意:容器内未安装bash):

$ docker run --rm pactfoundation/pact-cli sh -c 'ls'
Gemfile
Gemfile.lock
bin
entrypoint.sh
example
lib
pact-cli.gemspec
$ docker run --rm pactfoundation/pact-cli ls
Gemfile
Gemfile.lock
bin
entrypoint.sh
example
lib
pact-cli.gemspec

贡献

欢迎在GitHub上提交bug报告和拉取请求:[***]

许可证

本镜像作为开源软件发布,遵循MIT许可证条款。

查看更多 pact-cli 相关镜像 →
pactfoundation/pact-broker logo
pactfoundation/pact-broker
by Pact Foundation
开源Pact契约管理工具的Docker镜像分发版本,用于存储和管理契约文件,支持消费者驱动契约测试的协作。
1950M+ pulls
上次更新:3 个月前
pactfoundation/pact-stub-server logo
pactfoundation/pact-stub-server
by Pact Foundation
从Pact文件运行API存根服务器,用于自动化项目的外部API依赖。
41M+ pulls
上次更新:5 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.