广告图片

docker.io/pactfoundation/pact-broker:latest linux/amd64

docker.io/pactfoundation/pact-broker:latest - 国内下载镜像源 浏览次数:10

温馨提示:此镜像为latest tag镜像,本站无法保证此版本为最新镜像

Pact Broker是由Pact Foundation提供的镜像,用于存储、检索和管理Pact契约。它支持契约的版本控制、兼容性检查,可与CI/CD流程集成,帮助微服务架构中的团队进行契约测试与协作,确保服务间交互符合预先定义的契约。

源镜像 docker.io/pactfoundation/pact-broker:latest
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest
镜像ID sha256:78377ee30699958a28d68f2ff1e5bc67f4535a0268f501245468145ffcfbd955
镜像TAG latest
大小 834.53MB
镜像源 docker.io
项目信息 Docker-Hub主页 🚀项目TAG 🚀
CMD config.ru
启动入口 sh ./entrypoint.sh
工作目录 /pact_broker
OS/平台 linux/amd64
浏览量 10 次
贡献者
镜像创建 2026-01-06T16:38:08.825555482Z
同步时间 2026-03-30 11:17
环境变量
PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG=C.UTF-8 RUBY_VERSION=3.3.10 RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.10.tar.xz RUBY_DOWNLOAD_SHA256=3a06c3a709672a4ddae4e511d7e82f74799b8b3f550c8cf2d6f32089003cb84c GEM_HOME=/usr/local/bundle BUNDLE_SILENCE_ROOT_WARNING=1 BUNDLE_APP_CONFIG=/usr/local/bundle SUPERCRONIC_SHA1SUM=f70ad28d0d739a96dc9e2087ae370c257e79b8d7 SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.41/supercronic-linux-amd64 SUPERCRONIC=supercronic-linux-amd64 HOME=/pact_broker RUBYOPT=-W:no-experimental RACK_ENV=production PACT_BROKER_DATABASE_CLEAN_ENABLED=false PACT_BROKER_DATABASE_CLEAN_CRON_SCHEDULE=15 2 * * * PACT_BROKER_DATABASE_CLEAN_DELETION_LIMIT=500 PACT_BROKER_DATABASE_CLEAN_OVERWRITTEN_DATA_MAX_AGE=7 PACT_BROKER_DATABASE_CLEAN_DRY_RUN=false

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest  docker.io/pactfoundation/pact-broker:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest  docker.io/pactfoundation/pact-broker:latest

Shell快速替换命令

sed -i 's#pactfoundation/pact-broker:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest  docker.io/pactfoundation/pact-broker:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest  docker.io/pactfoundation/pact-broker:latest'

镜像构建历史


# 2026-01-07 00:38:08  0.00B 设置默认要执行的命令
CMD ["config.ru"]
                        
# 2026-01-07 00:38:08  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["sh" "./entrypoint.sh"]
                        
# 2026-01-07 00:38:08  0.00B 指定运行容器时使用的用户
USER ruby
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 PACT_BROKER_DATABASE_CLEAN_DRY_RUN
ENV PACT_BROKER_DATABASE_CLEAN_DRY_RUN=false
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 PACT_BROKER_DATABASE_CLEAN_OVERWRITTEN_DATA_MAX_AGE
ENV PACT_BROKER_DATABASE_CLEAN_OVERWRITTEN_DATA_MAX_AGE=7
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 PACT_BROKER_DATABASE_CLEAN_DELETION_LIMIT
ENV PACT_BROKER_DATABASE_CLEAN_DELETION_LIMIT=500
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 PACT_BROKER_DATABASE_CLEAN_CRON_SCHEDULE
ENV PACT_BROKER_DATABASE_CLEAN_CRON_SCHEDULE=15 2 * * *
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 PACT_BROKER_DATABASE_CLEAN_ENABLED
ENV PACT_BROKER_DATABASE_CLEAN_ENABLED=false
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 RACK_ENV
ENV RACK_ENV=production
                        
# 2026-01-07 00:38:08  0.00B 设置环境变量 RUBYOPT
ENV RUBYOPT=-W:no-experimental
                        
# 2026-01-07 00:38:08  33.00B 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c ln -s /pact_broker/script/db-version.sh /usr/local/bin/db-version # buildkit
                        
# 2026-01-07 00:38:08  33.00B 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c ln -s /pact_broker/script/db-migrate.sh /usr/local/bin/db-migrate # buildkit
                        
# 2026-01-07 00:38:08  113.00B 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c mv $HOME/clean.sh /usr/local/bin/clean # buildkit
                        
# 2026-01-07 00:38:08  9.01KB 复制新文件或目录到容器中
COPY pact_broker /pact_broker/ # buildkit
                        
# 2026-01-07 00:38:08  750.95MB 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c set -ex &&   apk add --update --no-cache make gcc libc-dev mariadb-dev postgresql16-dev sqlite-dev git yaml-dev &&   apk upgrade &&   gem install bundler -v $(cat BUNDLER_VERSION) &&   bundle config set deployment 'true' &&   bundle config set no-cache 'true' &&   bundle config set without 'development test' &&   bundle install &&   rm -rf vendor/bundle/ruby/*/cache .bundle/cache &&   find $HOME/vendor/bundle /usr/local/lib/ruby/gems       \( -name Gemfile.lock -o -name package-lock.json \) -exec rm -rf {} + &&   find $HOME/vendor/bundle /usr/local/lib/ruby/gems       \( -name *.pem -o -name *.key -o -name *.java -o -name *.jar \)  |       grep -e sample -e test -e spec | xargs rm -rf {} + &&   apk del make gcc libc-dev git # buildkit
                        
# 2026-01-07 00:35:33  7.00B 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c cat Gemfile.lock | grep -A1 "BUNDLED WITH" | tail -n1 | awk '{print $1}' > BUNDLER_VERSION # buildkit
                        
# 2026-01-07 00:35:33  4.92KB 复制新文件或目录到容器中
COPY pact_broker/Gemfile pact_broker/Gemfile.lock /pact_broker/ # buildkit
                        
# 2026-01-07 00:35:33  0.00B 设置工作目录为/pact_broker
WORKDIR /pact_broker
                        
# 2026-01-07 00:35:33  3.01KB 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c set -ex &&   adduser -h $HOME -s /bin/false -D -S -G root ruby &&   chmod g+w $HOME # buildkit
                        
# 2026-01-07 00:35:33  0.00B 设置环境变量 HOME
ENV HOME=/pact_broker
                        
# 2026-01-07 00:35:33  13.98MB 执行命令并创建新的镜像层
RUN |1 TARGETARCH=amd64 /bin/sh -c wget "$SUPERCRONIC_URL"  && echo "${SUPERCRONIC_SHA1SUM}  ${SUPERCRONIC}" | sha1sum -c -  && chmod +x "$SUPERCRONIC"  && mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}"  && ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic # buildkit
                        
# 2026-01-07 00:35:33  0.00B 设置环境变量 SUPERCRONIC_URL SUPERCRONIC
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.41/supercronic-linux-amd64 SUPERCRONIC=supercronic-linux-amd64
                        
# 2026-01-07 00:35:33  0.00B 定义构建参数
ARG TARGETARCH=amd64
                        
# 2026-01-07 00:35:33  0.00B 设置环境变量 SUPERCRONIC_SHA1SUM
ENV SUPERCRONIC_SHA1SUM=f70ad28d0d739a96dc9e2087ae370c257e79b8d7
                        
# 2025-12-18 08:45:30  0.00B 设置默认要执行的命令
CMD ["irb"]
                        
# 2025-12-18 08:45:30  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	mkdir "$GEM_HOME"; 	chmod 1777 "$GEM_HOME" # buildkit
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 BUNDLE_SILENCE_ROOT_WARNING BUNDLE_APP_CONFIG
ENV BUNDLE_SILENCE_ROOT_WARNING=1 BUNDLE_APP_CONFIG=/usr/local/bundle
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 GEM_HOME
ENV GEM_HOME=/usr/local/bundle
                        
# 2025-12-18 08:45:30  61.14MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 		apk add --no-cache --virtual .ruby-builddeps 		autoconf 		bzip2 		bzip2-dev 		ca-certificates 		coreutils 		dpkg-dev dpkg 		g++ 		gcc 		gdbm-dev 		glib-dev 		gmp-dev 		libc-dev 		libffi-dev 		libxml2-dev 		libxslt-dev 		linux-headers 		make 		ncurses-dev 		openssl 		openssl-dev 		patch 		procps 		yaml-dev 		zlib-dev 		ruby 		tar 		xz 		yaml-dev 		zlib-dev 	; 		rustArch=; 	apkArch="$(apk --print-arch)"; 	case "$apkArch" in 		'x86_64') rustArch='x86_64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.28.2/x86_64-unknown-linux-musl/rustup-init'; rustupSha256='e6599a1c7be58a2d8eaca66a80e0dc006d87bbcf780a58b7343d6e14c1605cb2' ;; 		'aarch64') rustArch='aarch64-unknown-linux-musl'; rustupUrl='https://static.rust-lang.org/rustup/archive/1.28.2/aarch64-unknown-linux-musl/rustup-init'; rustupSha256='a97c8f56d7462908695348dd8c71ea6740c138ce303715793a690503a94fc9a9' ;; 	esac; 		if [ -n "$rustArch" ]; then 		mkdir -p /tmp/rust; 				wget -O /tmp/rust/rustup-init "$rustupUrl"; 		echo "$rustupSha256 */tmp/rust/rustup-init" | sha256sum --check --strict; 		chmod +x /tmp/rust/rustup-init; 				export RUSTUP_HOME='/tmp/rust/rustup' CARGO_HOME='/tmp/rust/cargo'; 		export PATH="$CARGO_HOME/bin:$PATH"; 		/tmp/rust/rustup-init -y --no-modify-path --profile minimal --default-toolchain '1.91.1' --default-host "$rustArch"; 				rustc --version; 		cargo --version; 	fi; 		wget -O ruby.tar.xz "$RUBY_DOWNLOAD_URL"; 	echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.xz" | sha256sum --check --strict; 		mkdir -p /usr/src/ruby; 	tar -xJf ruby.tar.xz -C /usr/src/ruby --strip-components=1; 	rm ruby.tar.xz; 		cd /usr/src/ruby; 		wget -O 'thread-stack-fix.patch' 'https://bugs.ruby-lang.org/attachments/download/7081/0001-thread_pthread.c-make-get_main_stack-portable-on-lin.patch'; 	echo '3ab628a51d92fdf0d2b5835e93564857aea73e0c1de00313864a94a6255cb645 *thread-stack-fix.patch' | sha256sum --check --strict; 	patch -p1 -i thread-stack-fix.patch; 	rm thread-stack-fix.patch; 		autoconf; 	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; 	./configure 		--build="$gnuArch" 		--disable-install-doc 		--enable-shared 		${rustArch:+--enable-yjit} 	; 	make -j "$(nproc)"; 	make install; 		rm -rf /tmp/rust; 	runDeps="$( 		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local 			| tr ',' '\n' 			| sort -u 			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' 	)"; 	apk add --no-network --virtual .ruby-rundeps $runDeps; 	apk del --no-network .ruby-builddeps; 		cd /; 	rm -r /usr/src/ruby; 	if 		apk --no-network list --installed 			| grep -v '^[.]ruby-' 			| grep -i ruby 	; then 		exit 1; 	fi; 	[ "$(command -v ruby)" = '/usr/local/bin/ruby' ]; 	ruby --version; 	gem --version; 	bundle --version # buildkit
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 RUBY_DOWNLOAD_SHA256
ENV RUBY_DOWNLOAD_SHA256=3a06c3a709672a4ddae4e511d7e82f74799b8b3f550c8cf2d6f32089003cb84c
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 RUBY_DOWNLOAD_URL
ENV RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.10.tar.xz
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 RUBY_VERSION
ENV RUBY_VERSION=3.3.10
                        
# 2025-12-18 08:45:30  0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
                        
# 2025-12-18 08:43:17  19.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	mkdir -p /usr/local/etc; 	echo 'gem: --no-document' >> /usr/local/etc/gemrc # buildkit
                        
# 2025-12-18 08:12:29  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2025-12-18 08:12:29  8.44MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.2-x86_64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:78377ee30699958a28d68f2ff1e5bc67f4535a0268f501245468145ffcfbd955",
    "RepoTags": [
        "pactfoundation/pact-broker:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker:latest"
    ],
    "RepoDigests": [
        "pactfoundation/pact-broker@sha256:4a9131c00bdce70e5fcf39f8658e9ad38aaf826b2a3068d84aae381b916cece9",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pactfoundation/pact-broker@sha256:a17b467358a7193a5e99174544454f15a87ed09c1d764d39983faf4d1ba3ccb9"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-01-06T16:38:08.825555482Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "ruby",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "LANG=C.UTF-8",
            "RUBY_VERSION=3.3.10",
            "RUBY_DOWNLOAD_URL=https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.10.tar.xz",
            "RUBY_DOWNLOAD_SHA256=3a06c3a709672a4ddae4e511d7e82f74799b8b3f550c8cf2d6f32089003cb84c",
            "GEM_HOME=/usr/local/bundle",
            "BUNDLE_SILENCE_ROOT_WARNING=1",
            "BUNDLE_APP_CONFIG=/usr/local/bundle",
            "SUPERCRONIC_SHA1SUM=f70ad28d0d739a96dc9e2087ae370c257e79b8d7",
            "SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.41/supercronic-linux-amd64",
            "SUPERCRONIC=supercronic-linux-amd64",
            "HOME=/pact_broker",
            "RUBYOPT=-W:no-experimental",
            "RACK_ENV=production",
            "PACT_BROKER_DATABASE_CLEAN_ENABLED=false",
            "PACT_BROKER_DATABASE_CLEAN_CRON_SCHEDULE=15 2 * * *",
            "PACT_BROKER_DATABASE_CLEAN_DELETION_LIMIT=500",
            "PACT_BROKER_DATABASE_CLEAN_OVERWRITTEN_DATA_MAX_AGE=7",
            "PACT_BROKER_DATABASE_CLEAN_DRY_RUN=false"
        ],
        "Cmd": [
            "config.ru"
        ],
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/pact_broker",
        "Entrypoint": [
            "sh",
            "./entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": null
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 834525526,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/6724f0da916290fa51d90947fb1b6a374b7b6218b3b9a0008ac6082bf65914b2/diff:/var/lib/docker/overlay2/6f7139e0079b4af52c76b78651dcb88bb2163d002bfff207425a1280af996321/diff:/var/lib/docker/overlay2/699d5850596ebd9b285aaa23865b82575aa9dd2e5c23708c65c03845bd5c7d0f/diff:/var/lib/docker/overlay2/4beedc64fc31b722d160df82d5b0a9e37c67de07409f4354d04e586b6da06f91/diff:/var/lib/docker/overlay2/dbea626ffb8e76ec4b8eecc9bb9aa082c9e0310fc6db6b84fa69d944e048cf7c/diff:/var/lib/docker/overlay2/bd427988f886ce50d028f93e249e8a700e29270cfab819ffdfecd04a3e9b366d/diff:/var/lib/docker/overlay2/e040957bda92dea9b2683ffe5e190b1b2168008d8f49416fc5bc536b883ba934/diff:/var/lib/docker/overlay2/30f679479e7e81df5b590f77e6c452df0bec63d62288792adb59a6202fc11f63/diff:/var/lib/docker/overlay2/d7183ed51253a4bb1797cdf6669fc737dc449a021ed412bb2c5241ca78171cb7/diff:/var/lib/docker/overlay2/24fd10910a140195bcd1d4e657b72664b4899397ee687eca4f0b935fdb323826/diff:/var/lib/docker/overlay2/dc5c1707c41c6b3c529fe823b485b064e974599f36084f710a9dfffc22c1e250/diff:/var/lib/docker/overlay2/a0091d2716d1b59eb5d4ee36ac1d5077eea3eeece88b40dc00cc71a00dba8bb4/diff:/var/lib/docker/overlay2/fdc5e5689601dc92f6e20c665524fba39f8cab962b793bba8d800e1bb195a0a2/diff",
            "MergedDir": "/var/lib/docker/overlay2/e9cd9f0bc9b2d4ee1c267ea438eee2039598b41154c45d4ae3e622ca8c6a5ee6/merged",
            "UpperDir": "/var/lib/docker/overlay2/e9cd9f0bc9b2d4ee1c267ea438eee2039598b41154c45d4ae3e622ca8c6a5ee6/diff",
            "WorkDir": "/var/lib/docker/overlay2/e9cd9f0bc9b2d4ee1c267ea438eee2039598b41154c45d4ae3e622ca8c6a5ee6/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:7bb20cf5ef67526cb843d264145241ce4dde09a337b5be1be42ba464de9a672d",
            "sha256:5bc9921f2b50450eb59e595c9a2ffcc1c7c941bac7e726c9bea3b47fe818e1f2",
            "sha256:fd427fb2d4c86acf3906f0d643c42e89856a8470e5a10a7d5e14acf11ecb27e1",
            "sha256:4f27393a858767956672c4e0c53f282e3ee65f581a6b3e21d4875aaef4e53134",
            "sha256:daba33bdbb6bb7a089beedd3d8525c99b75b3cccbbe15a0899369a168c8ec010",
            "sha256:73e8fb9d92fa532948d402f91166a6621fe1f8bff4d825d416fa76b4c338369d",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:7c6088be4efa9c27ba3bcfd88e575937412aff03e330516e3262ac21e3a8d474",
            "sha256:ecddb80dcac9715ab57428b1908b2869c3ecf304825f6d54bee0067c630ed50c",
            "sha256:6ba9cdbc0ec51b00c98332e1b34c1ccec3a0bc622175fafa317b120549f0dfa0",
            "sha256:02329f276602cf26cb1c0f6c59f03029dafde5de8f9329a73502d57d7cfa9332",
            "sha256:772bec0743a96505dec629ed3c42fea483e8c1372e9c97f2ff927583e532c248",
            "sha256:81fb11c7cc31d36ae65a34b0132a9744ed427d4bb40aacd4b64772f8a80de8a1",
            "sha256:cf1300d672c77d21cbfef37ab9bfed3bf298620c3c880bdf1e618a5e79b51b03"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-03-30T11:16:48.071852451+08:00"
    }
}

更多版本

docker.io/pactfoundation/pact-broker:latest

linux/amd64 docker.io834.53MB2026-03-30 11:17
9