Docker学习笔记(十一)宿主机无法链接宿主机问题处理

故障排查优先级排序

  1. 服务状态 → 2. 端口监听 → 3. 防火墙 → 4. 权限配置 → 5. 网络路由
    (按此顺序可覆盖95%的常见问题‌15)

mysql镜像启动命令:

docker run  -p 3306:3306 --restart=always --name  mysqlv8 -e MYSQL_ROOT_PASSWORD=Cde12345  -d 172.16.156.128:80/wj_demo/mysql:v8

镜像启动以后在虚拟机上telnet ip+端口时可以访问通,但是在宿主机上不通

排查步骤:

1、重启镜像、重启docker

2、宿主机测试

# 宿主机执行
ping <虚拟机IP>          # 确认网络层可达‌:ml-citation{ref="2,7" data="citationList"}
telnet <虚拟机IP> 3306  # 失败则说明端口未开放‌:ml-citation{ref="5" data="citationList"}

3、查看端口监听

netstat -tunlp | grep 3306  # 确认 MySQL 正在监听 0.0.0.0:3306‌:ml-citation{ref="5,7" data="citationList"}

4、调整防火墙规则

关闭虚拟机的防火墙或者映射对应端口

关闭宿主机的防火墙(因为我第一次安装可以使用,重启以后无法使用,宿主机防火墙一直开启状态,所以我的没关闭,一直保持打开状态)

5、配置 MySQL 远程访问权限

-- 虚拟机内登录 MySQL
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '密码';  
FLUSH PRIVILEGES;  # 刷新权限‌:ml-citation{ref="6,7" data="citationList"}

6、修改绑定地址

我的就是这里出的问题,重启虚拟机以后没有了这个映射

sudo vi /etc/mysql/my.cnf  # 添加或修改
[mysqld]
bind-address = 0.0.0.0     # 允许所有IP连接‌:ml-citation{ref="1,5" data="citationList"}
systemctl restart mysql    # 重启生效‌:ml-citation{ref="7" data="citationList"}

7、排查配置文件冲突

检查 /etc/mysql/my.cnf 是否包含:
skip_networking          # 禁用网络连接(必须注释)‌:ml-citation{ref="5" data="citationList"}
skip_grant_tables        # 可能导致端口监听异常(建议注释)‌:ml-citation{ref="5" data="citationList"}修改后重启服务:systemctl restart mysql

8、杀手锏(高级检查)

抓包分析网络流量
# 虚拟机内执行
tcpdump -i eth0 port 3306  # 观察宿主机请求是否到达‌:ml-citation{ref="5" data="citationList"}‌路由表检查
route -n  # 确认默认网关正确指向宿主机‌:ml-citation{ref="2,8" data="citationList"}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣:回溯算法

组合I class Solution {List<List<Integer>> result new ArrayList(); // 所有结果集List<Integer> list new ArrayList(); // 当前结果集public List<List<Integer>> combine(int n, int k) {dfs(n, k, 1);return result;}public void dfs(i…

华为HCIE鸿蒙应用开发认证靠谱吗?

在万物互联时代&#xff0c;智能终端设备的多样性与协同需求催生了操作系统的革新。华为HarmonyOS&#xff08;鸿蒙系统&#xff09;凭借其分布式架构与全场景能力&#xff0c;正成为打破设备边界、重塑用户体验的核心技术底座。HCIE鸿蒙应用开发认证作为华为认证体系的顶级资质…

23种设计模式-原型(Prototype)设计模式

原型设计模式 &#x1f6a9;什么是原型设计模式&#xff1f;&#x1f6a9;原型设计模式的特点&#x1f6a9;原型设计模式的结构&#x1f6a9;原型设计模式的优缺点&#x1f6a9;原型设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是原型设计模式…

Oracle-rman restore遭遇RMAN-03002与ORA-19563

文章目录 在原DB上检查是否有重复的文件名&#xff1a;查看rman恢复的日志修正重名部分重新执行rman恢复结论&#xff1a; 在 RMAN 恢复过程中&#xff0c;遇到RMAN-03002连同ORA-19563:错误。 操作是将 Oracle 10.0.5的数据库备份从 RMAN備份恢复到另一台测试主机的同一个目录…

运维网络排查工具介绍与使用

作为一名运维工程师&#xff0c;日常工作中最令人头疼的莫过于各种网络故障。在过去一年半的运维生涯中&#xff0c;我积累了丰富的网络故障排查经验&#xff0c;今天就来和大家分享一下如何运用抓包工具&#xff08;Wireshark、tcpdump&#xff09;和网络排查工具&#xff08;…

解决vscode终端和本地终端python版本不一致的问题

&#x1f33f; 问题描述 本地终端&#xff1a; vscode终端&#xff1a; 别被这个给骗了&#xff0c;继续往下看&#xff1a; 难怪我导入一些包的时候老提示找不到&#xff0c;在本地终端就不会这样&#xff0c;于是我严重怀疑vscode中的python版本和终端不一样&#xff0c…

Sublime全局搜索快捷键Ctrl+Shift+F不能使用解决

问题描述&#xff1a; 在安装好Sublime后&#xff0c;我们使用快捷键进行全局搜索&#xff0c;发现没有反应&#xff0c;但是中文输入变成了繁体。 解决方案&#xff1a; 如截图&#xff0c;在关闭简繁切换的快捷键或者换成其他的就行

海康HTTP监听报警事件数据

http监听接收报警事件数据 海康获取设备报警事件数据两种方式&#xff1a; 1、sdk 布防监听报警事件数据,服务端布防。&#xff08;前面文章有示例&#xff09; 2、http监听接收报警事件数据&#xff0c;设备直接推送。 http监听接收报警事件数据&#xff0c;服务端可以使用n…

Python----计算机视觉处理(Opencv:图像边缘检测:非极大值抑制,双阈值筛选)

一、 高斯滤波 边缘检测本身属于锐化操作&#xff0c;对噪点比较敏感&#xff0c;所以需要进行平滑处理。这里使用的是一个5*5的高斯 核对图像进行消除噪声。 二、计算图像的梯度和方向 三、非极大值抑制 在得到每个边缘的方向之后&#xff0c;其实把它们连起来边缘检测就算完了…

Maven工具学习使用(四)——仓库

仓库分类 对于Mavne来说,仓库只分为两类:本地仓库和远程仓库。当Maven根据坐标查询寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,Maven就会去远程仓库查找,发现需要的构件之后…

Axure PR 9.0(发音:Ack-sure)原型图工具入门教程:链接交互

文章目录 引言Axure‌ RP 9I Axure RP9入门介绍元件库对两个元件进行连接页面:导航视图、概要母版交互II 链接交互从A页面跳转到B页面返回之前的页面see also引言 【 产品原型图】核心价值和实际应用场景:可视化需求,统一团队理解 https://blog.csdn.net/z929118967/articl…

docker远程debug

1. 修改 Java 启动命令 在 Docker 容器中启动 Java 程序时&#xff0c;需要添加 JVM 调试参数&#xff0c;jdk8以上版本 java -agentlib:jdwptransportdt_socket,servery,suspendn,address*:5005 -jar your-app.jar jdk8及以下版本&#xff1a; java -Xdebug -Xrunjdwp:tra…

K8S学习之基础五十四:jenkins新建测试流水线

jenkins新建测试流水线 新建任务 node(testak) {stage(第1步:从gitee上下载源代码) {git url: "https://gitee.com/akang007/jenkins-sample"script {build_tag sh(returnStdout: true, script: git rev-parse --short HEAD).trim()}}stage(第2步&#xff1a;基…

SylixOS 中 select 原理及使用分析

1、select接口简介 1.1 select接口使用用例 select 是操作系统多路 I/O 复用技术实现的方式之一。 select 函数允许程序监视多个文件描述符&#xff0c;等待所监视的一个或者多个文件描述符变为“准备好”的状态。所谓的”准备好“状态是指&#xff1a;文件描述符不再是阻塞状…

Spring WebFlux之ServerWebExchange

ServerWebExchange 是 Spring WebFlux 中的一个核心接口&#xff0c;用于表示服务器端处理的 HTTP 请求和响应。它封装了请求和响应的所有信息&#xff0c;并提供了相应的方法来操作这些信息。ServerWebExchange 在响应式编程模型中扮演着关键角色&#xff0c;支持非阻塞、异步…

Flutter 常见错误和坑

1. 状态管理问题 StatefulWidget 生命周期误用 // 错误&#xff1a;在 build 方法中修改状态 override Widget build(BuildContext context) {setState(() { counter; }); // 会导致无限重建循环return Text($counter); }// 正确&#xff1a;在事件处理中修改状态 Widget bui…

C++智能指针万字详细讲解(包含智能指针的模拟实现)

在笔试&#xff0c;面试中智能指针经常出现&#xff0c;如果你对智能指针的作用&#xff0c;原理&#xff0c;用法不了解&#xff0c;那么可以看看这篇博客讲解&#xff0c;此外本博客还简单模拟实现了各种指针&#xff0c;在本篇的最后还应对面试题对智能指针的知识点进行了拓…

【Go】Go语言结构体笔记

整体介绍 虽然 Go 语言不是传统意义上的面向对象语言&#xff0c;但它提供了结构体&#xff08;struct&#xff09;来组织数据&#xff0c;并且可以为结构体绑定方法&#xff0c;从而达到面向对象的部分效果。 关键知识点包括&#xff1a; 结构体定义与实例化 定义结构体时使用…

Three.js 快速入门教程【十八】射线拾取模型——鼠标点击屏幕选中模型或物体

系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…

Object.defineProperty()Proxy详解(Vue23数据劫持实现)

底层原理&#x1f447;&#x1f3ff; 总结一下&#xff0c;结构应该包括&#xff1a; 1. 方法的基本作用和参数。 2. 数据描述符和存取描述符的区别。 3. 属性定义的内部处理流程。 4. 在Vue中的应用实例。 5. 常见错误和正确实践。 每个部分都要结合搜索结果的信息&…