当前位置: 首页 > news >正文

docker内部无法使用ping等网络工具解决方案

通常docker内部没有网络,所以我们先离线安装需要的依赖包,然后再使用sh脚本容器内部访问宿主机同网络端其他服务器ip,实现监测远程ip

telnet包依赖于netbase包,但是netbase包没有安装。你需要先安装netbase包,然后再尝试安装telnet。
apt-get download netbase
dpkg -i  netbase*.deb

安装telnet
apt-get download telnet
dpkg -i  telnet_*.deb
telnet 10.1.7.139 1883

安装ping
apt-get download iputils-ping#在有网络的宿主机下载安装包
dpkg -i  iputils-ping_*.deb#在容器内部执行安装指令安装离线包
ping 10.1.7.139 1883#测试

通信测试脚本

#!/bin/bash
service mosquitto start
echo "mosquitto..."
sysctl vm.overcommit_memory=1
service redis-server start &
echo "redis..."
mongod -f /data/config/mongod.conf --fork
echo "mongo..."
service nginx start
echo "nginx..."# 要ping的服务器地址  
SERVER_IP="10.1.77.74"  # 要检查的端口  
SERVER_PORT=1883  # 等待时间(秒)  
WAIT_TIME=60  # 尝试连接端口的函数  
check_port() {  local ip="$1"  local port="$2"  # 尝试使用telnet连接到指定端口,并立即发送quit命令退出  (echo quit; sleep 1) | telnet "$ip" "$port" 2>&1 | grep -q "Connected"  # 根据grep的退出状态来返回结果  return $?  
}# 无限循环直到服务器可达和端口开放  
while true; do  # 尝试ping服务器  if  ping -c 1 "$SERVER_IP" &> /dev/null; then  echo "$(date): Server $SERVER_IP is reachable."  # 尝试检查端口是否开放  if check_port "$SERVER_IP" "$SERVER_PORT"; then  echo "$(date): Port $SERVER_PORT is open on $SERVER_IP."  # 在这里执行后续命令  echo "$(date): Executing commands..."  # 例如:  # service some_service start  # /path/to/some/script.sh  cd /bwss/agent/iot/server/edgeagent/ && ./start.shecho "edgeagent..."sleep 10;cd /bwss/agent/iot/server/collector/ai-collector/ && ./start.shecho "ai-collector..."break  # 如果需要的话,可以在这里添加退出循环的条件  # 例如:检查某个服务是否已成功启动  # if [ some_condition ]; then  #     break  # fi  else  echo "$(date): Port $SERVER_PORT is closed on $SERVER_IP. Retrying..."  fi  else  echo "$(date): Server $SERVER_IP is unreachable. Retrying after $WAIT_TIME seconds..."  fi  # 等待一段时间后再次尝试  sleep $WAIT_TIME  
done

相关文章:

docker内部无法使用ping等网络工具解决方案

通常docker内部没有网络,所以我们先离线安装需要的依赖包,然后再使用sh脚本容器内部访问宿主机同网络端其他服务器ip,实现监测远程ip telnet包依赖于netbase包,但是netbase包没有安装。你需要先安装netbase包,然后再尝试安装teln…...

后端工程师快速使用vue和Element

文章目录 Vue1 Vue概述2 快速入门3 Vue指令3.1 v-bind和v-model3.2 v-on3.3 v-if和v-show3.4 v-for3.5 案例 4 生命周期 Element快速使用1 Element介绍2 快速入门3 当前页面中嵌套另一个页面案例代码案例截图 Vue 1 Vue概述 通过我们学习的htmlcssjs已经能够开发美观的页面了…...

自学rabbitmq入门到精通

交换机的fault (发布与订阅模式) 因为消息是由生产者发送给excahnge,exchange发送给队列, 然后由队列发送给消费者的。 展示使用图形化界面使用fanout模式。 创建交换机 然后创建三个队列,绑定对应的交换机&#xff…...

由浅到深认识C语言(13):共用体

该文章Github地址:https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn…...

python爬虫(9)之requests模块

1、获取动态加载的数据 1、在开发者工具中查看动态数据 找到csdn的门户的开发者工具后到这一页面。 2、加载代码 import requests headers {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36…...

phpstudy自定义安装mysql8.3并启动

phpstudy自定义安装mysql8.3并启动 先去官网:https://dev.mysql.com/downloads/下载压缩包文件 然后按下面的图片一步一步操作 选择版本,选择第一个压缩包文件,下载 下载完成后,解压到phpstudy环境目录下,如下图 然后进入mysq…...

Netty 学习资料

Netty 学习资料 搜集了一下Java网络库Netty的学习资料,整理如下,有空花时间研究一下。 1、Netty学习手册 《尚硅谷 Netty 核心技术及源码剖析》课程学习手册 本课程不适合零基础的学员,需要掌握常用的设计模式和数据结构 掌握 Java 的面向对…...

【概率论中的两种重要公式:全概率和贝叶斯】

贝叶斯公式(Bayes’ Theorem)是概率论中的一条重要定理,用于计算条件概率。它描述了在已知某一事件发生的条件下,另一事件发生的概率。贝叶斯公式如下所示: P ( A ∣ B ) P ( B ∣ A ) ⋅ P ( A ) P ( B ) P(A|B) \…...

python中的闭包

一、闭包 1、作用域 在Python代码中,作用域分为两种情况:全局作用域 与 局部作用域 2、变量的作用域 在全局定义的变量 > 全局变量 在局部定义的变量 > 局部变量 3、全局变量与局部变量的访问范围 ① 在全局作用域中可以访问全局变量&#…...

成功解决RuntimeError: OpenSSL 3.0‘s legacy provider failed to load

报错 RuntimeError: OpenSSL 3.0s legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this er…...

【 React 】React 组件之间如何通信?

相关文章: React Context的使用方法 react Provider Consumer 使用方法 1. 是什么 我们将组件间通信可以拆分为两个词: 组件通信 组件是vue中最强大的功能之一,同样组件化是React的核心思想 相比vue,React的组件更加灵活和多样…...

汇总全网免费API,持续更新(新闻api、每日一言api、音乐。。。)

Public&FreeAPI 网址:apis.whyta.cn (推荐) UomgAPI 网址:https://api.uomg.com 教书先生 网址:https://api.oioweb.cn/ 山海API https://api.shserve.cn/ 云析API铺 https://api.a20safe.com/ 韩小韩…...

Android SystemServer进程解析

SystemServer进程在android系统中占了举足轻重的地位,系统的所有服务和SystemUI都是由它启动。 一、SystemServer进程主函数流程 1、主函数三部曲 //frameworks/base/services/java/com/android/server/SystemServer.java /** * The main entry point from zy…...

Github主页设置贪吃蛇详细教程

先看最终实现结果: 有条贪吃蛇放在主页还是蛮酷的哈哈哈。接下来我来讲一讲怎么在Github主页添加一条贪吃蛇。 首先要修改自己的Github的主页,我们得有一个特殊的仓库——这个仓库必须与你的Github用户名保持一致,并且需要公开&#xff0c…...

二、实现fastdfs文件上传与延迟删除功能的Spring Boot项目

如何在Spring Boot项目中集成FastDFS实现文件上传功能,并添加支持延迟删除功能的实现。 一、Spring Boot 中集成 fastdfs 使用 1、文件上传功能实现 首先,让我们看一下如何实现文件上传功能的接口方法: RestController public class File…...

Android FrameWork 学习路线

目录 前言 学习路线: 1.基础知识 2、AOSP 源码学习 3. AOSP 源码编译系统 4. Hal与硬件服务 5.基础组件 6. Binder 7. 系统启动过程分析 8. 应用层框架​编辑 9. 显示系统 10. Android 输入系统 11. 系统应用 前言 Android Framework 涉及的行业相当广…...

前端开发者如何打造自己的生态以及ip

作为独立开发者,在公司的岗位上面,经常面对的是页面,但我们不能局限页面,页面是切入点。 1在需求页面的过程中,我们会接触ui,原型,软件,需求, 2在接口对接的过程中&#…...

C语言实现一个两个数加减乘除的答题代码(含文件保存),用户增加,题目增加,题目测试,题目答题等等

目录 1、这是我大一自己写的小代码,现在翻到了就分享出来,高手勿喷。 2、项目运行 3、获取完整源码网址 1、这是我大一自己写的小代码,现在翻到了就分享出来,高手勿喷。 2、项目运行 (1)测试模块 每次…...

YOLOv9改进策略:注意力机制 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点

💡💡💡本文改进内容:用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测 yolov9-c-ContextAggregation summary: 971 layers, 51002153 parameters, 51002121 gradients, 238.9 GFLOPs 改…...

基于单片机的老人防丢系统设计

目 录 摘 要 I Abstract II 引 言 3 1 系统总体架构 6 1.1方案设计与选择 6 1.2 系统架构设计 6 1.3 系统器件选择 7 2 系统硬件设计 9 2.1 单片机外围电路设计 9 2.2 LCD1602液晶显示电路设计 12 2.3 短信模块电路设计 14 2.4 GPS模块电路设计 14 2.5 电源与按键控制电路设计…...

从零掌握HunterPie:解锁《怪物猎人:世界》狩猎效率的实战指南

从零掌握HunterPie:解锁《怪物猎人:世界》狩猎效率的实战指南 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_mirro…...

为什么说程序 = 算法 + 数据结构

什么是程序?理解了算法和数据结构是什么,我们就能更清晰地定义程序:程序是算法和数据结构在特定编程语言中的具体实现。它是一系列指令的集合,这些指令精确地描述了如何操作(算法)特定组织的数据&#xff0…...

终极指南:如何用BongoCat打造你的个性化桌面互动伙伴

终极指南:如何用BongoCat打造你的个性化桌面互动伙伴 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 你是否厌…...

Phi-3-Mini-128K惊艳效果:处理含JSON Schema的OpenAPI规范并生成Mock数据

Phi-3-Mini-128K惊艳效果:处理含JSON Schema的OpenAPI规范并生成Mock数据 1. 模型能力概览 Phi-3-Mini-128K是基于微软Phi-3-mini-128k-instruct模型开发的轻量化对话工具,专为处理复杂技术文档和结构化数据而优化。这个128K超长上下文的模型在解析技术…...

Qwen3-ASR-1.7B部署教程:基于device_map=‘auto‘的GPU智能分配实践

Qwen3-ASR-1.7B部署教程:基于device_mapauto的GPU智能分配实践 想不想把电脑变成一个能听懂人话的智能助手?无论是会议录音、视频字幕,还是采访记录,都能快速、准确地转成文字,而且完全在本地运行,不用担心…...

06_gstack发布运营:一键发布与文档同步机制

06_gstack发布运营:一键发布与文档同步机制关键字:gstack、一键发布、ship技能、document-release、文档同步、发布流水线、CHANGELOG、PR自动化、retro、工程回顾你上一次修改完代码到实际提交 PR,中间经历了多少步? git stash&a…...

SeqGPT-560M实现YOLOv8目标检测:智能图像分析实战

SeqGPT-560M实现YOLOv8目标检测:智能图像分析实战 1. 引言 在计算机视觉领域,目标检测一直是个核心且具有挑战性的任务。传统的YOLOv8模型虽然检测速度快、准确率高,但在处理复杂场景时,往往需要额外的语义理解能力来提升检测精…...

Chandra OCR真实测评:对比GPT-4o,开源OCR模型表现如何

Chandra OCR真实测评:对比GPT-4o,开源OCR模型表现如何 最近在整理一堆扫描版的实验报告和学术论文,里面混杂着复杂的表格、手写注释和数学公式,真是让人头疼。传统的OCR工具,比如Tesseract,处理这种文档就…...

新手必看!Cesium的NearFarScalar属性详解:从参数配置到常见问题排查

Cesium视觉控制进阶:NearFarScalar属性深度解析与实战技巧 第一次接触Cesium的开发者往往会被其强大的三维可视化能力所震撼,但当真正开始动手实现一个简单的广告牌效果时,却可能被各种参数配置搞得晕头转向。其中,控制广告牌随距…...

告别手动输入!SQLPlus非交互模式执行SQL脚本的3种高效方法(附实例)

告别手动输入!SQLPlus非交互模式执行SQL脚本的3种高效方法(附实例) 在数据库管理和开发工作中,频繁执行SQL脚本是家常便饭。想象一下这样的场景:每天凌晨需要生成报表、定期执行数据清洗任务、或者批量更新生产环境数据…...