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

官方QQ群: 13763429

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

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

wait4x Docker 镜像下载 - 轩辕镜像

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

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

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

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

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

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

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

wait4x
atkrad/wait4x

wait4x 镜像详细信息

wait4x 镜像标签列表

wait4x 镜像使用说明

wait4x 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Wait4X可用于等待端口或服务进入请求的状态。
8 收藏0 次下载activeatkrad镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

wait4x 镜像详细说明

wait4x 使用指南

wait4x 配置说明

wait4x 官方文档

Wait4X Docker 镜像文档

Wait4X

轻量级服务就绪等待工具

![Docker Pulls]([] ![GitHub Workflow Status]([] ![Coverage Status]([] ![Go Report Card]([]

📑 目录

  • 📋 概述
  • ✨ 特性
  • 📦 镜像信息
  • 🐳 Docker 部署方案
  • 🚀 快速开始
  • 📖 详细使用方法
  • ⚙️ 高级特性
  • 📝 配置参数说明
  • 💡 使用场景示例

📋 概述

Wait4X 是一个功能强大、零依赖的工具,用于在继续执行前等待服务就绪。它支持多种协议和服务,使其成为以下场景的重要组件:

  • CI/CD 流水线 - 确保测试运行前依赖项可用
  • 容器编排 - 应用启动前健康检查服务状态
  • 部署流程 - 部署前验证系统就绪状态
  • 应用初始化 - 验证外部服务可用性
  • 本地开发 - 简化本地服务就绪检查

✨ 特性

特性描述
多协议支持TCP、HTTP、DNS
服务集成Redis、MySQL、PostgreSQL、MongoDB、RabbitMQ、InfluxDB、Temporal
反向检查反转检查以查找空闲端口或未就绪服务
并行检查同时检查多个服务
指数退避使用递增延迟重试以提高可靠性
CI/CD 集成专为自动化工作流设计
跨平台适用于 Linux、macOS 和 Windows 的单一二进制文件
命令执行检查成功后运行命令

📦 镜像信息

  • 镜像名称: atkrad/wait4x
  • 支持架构: amd64, arm64
  • 最新版本标签: latest
  • Docker Hub 地址: [***]

🐳 Docker 部署方案

基本用法

# 拉取镜像
docker pull atkrad/wait4x:latest

# 查看帮助信息
docker run --rm atkrad/wait4x:latest --help

等待 TCP 服务就绪

# 等待本地 MySQL 服务就绪
docker run --rm --network host atkrad/wait4x:latest tcp localhost:3306

# 等待其他容器服务就绪(使用 Docker 网络)
docker run --rm --network my-network atkrad/wait4x:latest tcp mysql:3306

等待 HTTP 服务就绪

# 等待健康检查端点返回 200 状态码
docker run --rm atkrad/wait4x:latest http [***] --expect-status-code 200

# 等待响应体包含特定内容
docker run --rm atkrad/wait4x:latest http [***] --expect-body-regex '"status":"UP"'

Docker Compose 集成示例

version: '3.8'

services:
  app:
    build: .
    depends_on:
      - db
      - redis
    command: ["dockerize", "-wait", "tcp://db:3306", "-wait", "tcp://redis:6379", "-timeout", "60s", "npm", "start"]
    
  wait4x:
    image: atkrad/wait4x:latest
    command: tcp db:3306 redis:6379
    
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: appdb
      
  redis:
    image: redis:alpine

结合 Docker Compose 健康检查

version: '3.8'

services:
  api:
    build: ./api
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "8080:8080"

  db:
    image: postgres:14
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: appdb
    healthcheck:
      test: ["CMD", "docker run --rm --network=container:$$HOSTNAME atkrad/wait4x:latest postgresql 'postgres://user:password@localhost:5432/appdb?sslmode=disable'"]
      interval: 5s
      timeout: 5s
      retries: 5

🚀 快速开始

基本 TCP 检查

等待端口可用:

docker run --rm --network host atkrad/wait4x:latest tcp localhost:3306

HTTP 健康检查

等待 Web 服务器返回特定响应:

docker run --rm atkrad/wait4x:latest http [***] \
  --expect-status-code 200 \
  --expect-body-regex '"status":"UP"'

多服务并行检查

同时等待多个服务就绪:

docker run --rm --network host atkrad/wait4x:latest tcp 127.0.0.1:5432 127.0.0.1:6379 127.0.0.1:27017

数据库就绪检查

等待 PostgreSQL 就绪:

docker run --rm --network host atkrad/wait4x:latest postgresql \
  'postgres://user:pass@localhost:5432/mydb?sslmode=disable'

检查成功后执行命令

服务就绪后运行命令:

docker run --rm --network host atkrad/wait4x:latest tcp localhost:8080 -- echo "服务已就绪!"

📖 详细使用方法

🌐 HTTP 检查

检查状态码

等待 HTTP 端点返回特定状态码:

docker run --rm atkrad/wait4x:latest http [***] --expect-status-code 200

使用正则表达式检查响应体

等待 HTTP 端点返回匹配正则表达式模式的响应:

docker run --rm atkrad/wait4x:latest http [***] \
  --expect-body-regex '"status":\s*"healthy"'

使用 JSON Path 检查响应体

等待特定 JSON 字段存在或具有特定值:

docker run --rm atkrad/wait4x:latest http [***] \
  --expect-body-json "services.database.status"

这使用 GJSON Path 语法 进行强大的 JSON 查询。

自定义请求头

发送带有特定头的 HTTP 请求:

docker run --rm atkrad/wait4x:latest http [***] \
  --request-header "Authorization: Bearer token123" \
  --request-header "Content-Type: application/json"

🔍 DNS 检查

检查 A 记录

# 基本存在性检查
docker run --rm atkrad/wait4x:latest dns A example.com

# 带预期 IP 的检查
docker run --rm atkrad/wait4x:latest dns A example.com --expected-ip 93.184.216.34

# 使用特定名称服务器
docker run --rm atkrad/wait4x:latest dns A example.com --expected-ip 93.184.216.34 -n 8.8.8.8

💾 数据库检查

MySQL

# TCP 连接
docker run --rm --network host atkrad/wait4x:latest mysql 'user:password@tcp(localhost:3306)/mydb'

# 通过 Docker 网络连接
docker run --rm --network my-network atkrad/wait4x:latest mysql 'user:password@tcp(mysql:3306)/mydb'

PostgreSQL

docker run --rm --network my-network atkrad/wait4x:latest postgresql \
  'postgres://user:password@postgres:5432/mydb?sslmode=disable'

Redis

# 基本连接检查
docker run --rm --network my-network atkrad/wait4x:latest redis redis://redis:6379

# 带认证和数据库选择
docker run --rm --network my-network atkrad/wait4x:latest redis redis://user:password@redis:6379/0

# 检查键是否存在
docker run --rm --network my-network atkrad/wait4x:latest redis redis://redis:6379 --expect-key "session:active"

🚌 消息队列检查

RabbitMQ

docker run --rm --network my-network atkrad/wait4x:latest rabbitmq \
  'amqp://guest:guest@rabbitmq:5672/myvhost'

⚙️ 高级特性

⏱️ 超时和重试控制

设置超时时间

限制 Wait4X 的总等待时间:

docker run --rm atkrad/wait4x:latest tcp localhost:8080 --timeout 30s

设置检查间隔

控制 Wait4X 重试频率:

docker run --rm atkrad/wait4x:latest tcp localhost:8080 --interval 2s

指数退避

使用指数退避进行更高效的重试:

docker run --rm atkrad/wait4x:latest http [***] \
  --backoff-policy exponential \
  --backoff-exponential-coefficient 2.0 \
  --backoff-exponential-max-interval 30s

↔️ 反向检查

等待端口变为空闲:

docker run --rm atkrad/wait4x:latest tcp localhost:8080 --invert-check

等待服务停止:

docker run --rm atkrad/wait4x:latest http [***] \
  --expect-status-code 200 --invert-check

⚡ 命令执行

检查成功后执行命令:

docker run --rm --network my-network --volume $(pwd):/app atkrad/wait4x:latest \
  tcp db:3306 -- /app/deploy.sh

🔄 并行检查

同时等待多个服务:

docker run --rm --network my-network atkrad/wait4x:latest tcp db:3306 redis:6379 rabbitmq:5672

📝 配置参数说明

全局参数

参数描述默认值
--timeout最大等待时间 (例如 30s, 5m)30s
--interval检查间隔时间 (例如 1s, 500ms)1s
--backoff-policy退避策略 (constant, exponential)constant
--backoff-exponential-coefficient指数退避系数2.0
--backoff-exponential-max-interval指数退避最大间隔30s
--quiet安静模式,只输出错误信息false
--verbose详细输出false
--version显示版本信息-
--help显示帮助信息-

协议特定参数

HTTP 检查参数

参数描述
--expect-status-code期望的 HTTP 状态码
--expect-body-regex响应体应匹配的正则表达式
--expect-body-json应存在的 JSON 路径
--expect-body-xpath应匹配的 XPath 查询
--request-header发送的 HTTP 请求头
--expect-header应存在的响应头
--insecure不验证 SSL 证书

DNS 检查参数

参数描述
-n, --nameserver使用的名称服务器
--expected-ip期望的 IP 地址
--expected-domain期望的域名
--expected-value期望的记录值

💡 使用场景示例

示例 1: Docker Compose 服务依赖检查

version: '3.8'

services:
  web:
    build: ./web
    depends_on:
      wait-for-dependencies:
        condition: service_completed_successfully
    command: ["npm", "start"]
    
  wait-for-dependencies:
    image: atkrad/wait4x:latest
    command:
      - tcp
      - db:3306
      - redis:6379
      - --timeout
      - 60s
    networks:
      - app-network
      
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: appdb
    networks:
      - app-network
      
  redis:
    image: redis:alpine
    networks:
      - app-network

networks:
  app-network:

示例 2: CI/CD 管道中的使用

在 GitLab CI 中:

deploy:
  stage: deploy
  image: docker:latest
  services:
    - docker:dind
  before_script:
    - docker pull atkrad/wait4x:latest
    - docker network create app-network
    - docker run -d --name db --network app-network -e POSTGRES_PASSWORD=pass postgres:14
    - docker run --rm --network app-network atkrad/wait4x:latest postgresql 'postgres://postgres:pass@db:5432/postgres?sslmode=disable' --timeout 60s
  script:
    - docker run --name app --network app-network -d my-app-image

示例 3: 数据库迁移前等待数据库就绪

#!/bin/bash
set -e

# 启动数据库容器
docker run -d --name db -e POSTGRES_PASSWORD=pass postgres:14

# 等待数据库就绪
docker run --rm --network host atkrad/wait4x:latest postgresql \
  'postgres://postgres:pass@localhost:5432/postgres?sslmode=disable' \
  --timeout 120s

# 运行数据库迁移
docker run --rm --network host my-migration-tool migrate

# 启动应用
docker run -d --name app --network host my-app
查看更多 wait4x 相关镜像 →
wait4x/wait4x logo
wait4x/wait4x
by wait4x
Wait4X用于等待端口或服务进入请求状态。
35M+ pulls
上次更新:3 天前

常见问题

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

免费版仅支持 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.