
gitlabhost/docker-network-test本镜像是一个轻量级Docker容器,专为测试Docker环境中的网络连接性而设计。它集成了常用的网络诊断工具,帮助开发者和运维人员快速验证容器间通信、外部网络访问及网络配置的正确性,简化Docker网络故障排查流程。
bash# 测试与目标主机的ICMP连通性(ping) docker run --rm network-test-container ping -c 4 example.com # 测试目标容器的TCP端口可达性(如测试web容器的80端口) docker run --rm network-test-container nc -zv web-container 80 # 测试HTTP服务可用性 docker run --rm network-test-container curl -I [***]
bash# 使用host网络模式测试主机网络栈 docker run --rm --net=host network-test-container ping -c 4 192.168.1.1 # 连接到指定自定义网络测试容器通信 docker run --rm --net=my-custom-network network-test-container curl [***]
bash# 验证容器内DNS解析功能 docker run --rm network-test-container nslookup docker.com docker run --rm network-test-container dig @8.8.8.8 google.com
在多容器应用中集成网络测试容器,验证服务间连通性:
yamlversion: '3' services: web: image: nginx:alpine networks: - app-network # 网络测试容器 network-tester: image: network-test-container depends_on: - web networks: - app-network command: ["curl", "-I", "[***]"] # 启动时自动测试web服务连通性 networks: app-network: driver: bridge
支持通过环境变量自定义测试行为:
TIMEOUT:设置网络测试超时时间(秒),默认5秒
bashdocker run --rm -e TIMEOUT=10 network-test-container nc -zv slow-service 443
TARGET_HOST:预设默认测试目标主机,简化命令
bashdocker run --rm -e TARGET_HOST=web-service network-test-container curl [***]
--cap-add=NET_RAW权限:
bashdocker run --rm --cap-add=NET_RAW network-test-container ping host.docker.internal
--net=host模式时需注意主机网络安全,避免不必要的权限暴露docker network connect)容器内置以下网络诊断工具,可直接通过命令调用:
ping:ICMP网络可达性测试nc/netcat:TCP/UDP端口测试curl/wget:HTTP/HTTPS连接测试nslookup/dig:DNS解析测试ip/ifconfig:网络接口和IP配置查看traceroute:网络路径追踪(需添加--cap-add=NET_ADMIN权限)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务