
igops/wait-for-port 是一个轻量级(约3MB)的Docker镜像,基于netcat实现,用于持续尝试连接指定的TCP/IP端点。当连接成功建立后,容器会自动退出。通过在前台运行此镜像,可以阻塞执行流程(如部署脚本),确保依赖的服务完全启动并开始接受连接后再继续后续操作。
shelldocker run --rm igops/wait-for-port HOST PORT
示例:检查172.17.0.1主机的80端口是否开放
shelldocker run --rm igops/wait-for-port 172.17.0.1 80
输出:
Waiting for 172.17.0.1:80... OK
等待主机OS上的服务启动
等待Nginx服务:
shell#!/bin/sh # 启动Nginx容器 docker run --rm -d -p 80:80 nginx # 等待主机80端口开放(使用host-gateway访问主机网络) docker run --rm --add-host="host:host-gateway" igops/wait-for-port host 80 # 确认Nginx就绪后执行HTTP请求 curl -XGET 'http://localhost'
输出:
Waiting for host:80...OK <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> ...
等待SSH服务:
shell#!/bin/sh # 等待主机22端口(SSH服务)开放 docker run --rm --add-host="host:host-gateway" igops/wait-for-port host 22 echo "SSH server is running"
等待其他容器启动
同一Docker网络中的容器:
shell#!/bin/sh # 创建自定义Docker网络 docker network create my-bridge # 启动MongoDB容器并加入网络 docker run --rm -d --net my-bridge --net-alias my-mongo mongo # 等待MongoDB的27017端口开放 docker run --rm --net my-bridge igops/wait-for-port my-mongo 27017 echo "MongoDB is up"
通过端口映射的容器:
shell#!/bin/sh # 启动MongoDB容器并映射端口 docker run --rm -d -p 27017:27017 mongo # 等待主机上映射的27017端口开放 docker run --rm --add-host="docker-host:host-gateway" igops/wait-for-port docker-host 27017 echo "MongoDB is up"
| 变量名 | 描述 | 默认值 |
|---|---|---|
| CHECK_FREQUENCY | 端口检查频率(单位:秒) | 0.1 |

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务