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

wsl虚拟机中的dockers容器访问不了物理主机

1 首先保证wsl虚拟机能够访问宿主机IP地址,wsl虚拟机通过vEthernet (WSL)的地址访问,着意味着容器也要通过此IP地址访问物理主机。

2 遇到的问题:wsl虚拟机中安装了docker,用在用到docker容器内的开发环境,但是虚拟机对宿主机的多个ip地址都无法ping通。

3 在防火墙,杀毒软件等卸载安装更新情况下会让之前的设置失效,突然无法访问宿主机,

查看宿主机ip地址,可能有多个ip地址虚拟机wsl专用 vEthernet (WSL):ok的ip地址

设置防火墙允许ip地址访问

以管理员身份运行cmd或Windows PowerShell,输入

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow

进入wsl,ping vEthernet (WSL)对应的ip地址通过。

4 最大问题:docker容器内部始终无法访问外部的主机应用,为了访问,额外添加了容器端口和虚拟机端口映射,在容器中安装ping和telnet测试,发现容器能ping通主机ip,但连接应用程序端口出现问题,连接被关闭,这种使用容器连接虚拟机映射的端口本来就是错误的想法,因为虚拟机的端口容器可以直接访问但是无应用就报连接被关闭问题。

为了容器连接宿主机,一直在找原因,最开始想的是防火墙,但是我设置了出栈和进栈规则,就去找其他原因,走了不少弯路,头都大了。甚至放弃物理主机应用使用同一环境下的docker环境,想一想我愚蠢的尝试,还真离谱,起初是在虚拟机层上安装iptables来将容器端口和虚拟机端口来做映射这样即便我容器中没有对虚拟机做映射也能将数据转发到容器或者将容器数据转发到虚拟机这样多希望虚拟机它是一个智能机还能帮我转发到宿主机,这离谱的想法是我想多了,想的像物理机访问虚拟机一样将数据代理到容器,因为有端口映射,事实,虚拟机不会也不能帮容器做事情,最终还是回到物理机的ip上,能通过ip访问,为什么走代理,但问题IP也不能用,除去容器访问虚拟机,虚拟机代理访问物理机的愚蠢想法,现在要做的只有放弃物理机的应用,或者解决容器和物理机的连通问题,很突然想到用过的其他容器也好像访问过物理机的应用,在容器能ping物理机的情况下更加确定是防火墙的问题,在卸载了不好用的电脑管家之后,换了微软管家发现系统一直在更新,优化了不少安装选项,端口管制严格,电脑也轻便了不少,就是不让你随便访问数据,确定了连通信没问题就解决防火墙问题。

5 设置了防火墙的出栈进栈为什么没起作用,这也导致之前走弯路的原因,另外一个是想访问虚拟机间接访问主机,要知道映射端口是直接可访问,到无程序所以报连接成功但有关闭,这还以为是应用程序拒绝了ip的访问,

6 解决尝试,关闭电脑防火墙,公网和私网,进入容器 telnet ip 端口 发现访问成功,现在在用虚拟机ip访问加映射端口,如下同样拒绝。

7 现在可以访问了,但是安装吗?肯定不安装,因为网络上很容器知道用户的常用ip

端口,如果每防火墙那自己的电脑会处在高压负荷中,性能也会大大下降,所以还是打开防火墙,继续安全使用,而且主要阻止容器访问的应用的是公用网络,解决它就没问题。

8 如果ping不同主机ip就设置防火墙,类型任何协议,ip地址加上主机的IP或者任何ip地址而不仅仅tcp。

http://www.lryc.cn/news/488533.html

相关文章:

  • Spark RDD 的宽依赖和窄依赖
  • 二进制转十进制
  • 深度学习:神经网络中的非线性激活的使用
  • Python缓存:两个简单的方法
  • 原生微信小程序在顶部胶囊左侧水平设置自定义导航兼容各种手机模型
  • 经验笔记:远端仓库和本地仓库之间的连接(以Gitee为例)
  • 利用RAGflow和LM Studio建立食品法规问答系统
  • ffplay音频SDL播放处理
  • 自动化仪表故障排除法
  • WPF 中 MultiConverter ——XAML中复杂传参方式
  • 实验室管理现代化:Spring Boot技术方案
  • aws凭证(一)凭证存储
  • jmeter常用配置元件介绍总结之断言
  • JMeter监听器与压测监控之Grafana
  • MySQL8 安装教程
  • 聚焦 NLP 和生成式 AI 的创新与未来 基础前置知识点
  • 23种设计模式-访问者(Visitor)设计模式
  • ssm150旅游网站的设计与实现+jsp(论文+源码)_kaic
  • 【SKFramework框架】一、框架介绍
  • Arcgis地图实战三:自定义导航功能的实现
  • LLaMA-Factory 上手即用教程
  • 黑马点评 秒杀下单出现的问题:服务器异常---java.lang.NullPointerException: null(已解决)
  • 购物街项目TabBar的封装
  • C++游戏开发面试题及参考答案
  • 字符串的基本操作(C语言版)
  • C缺陷与陷阱 — 7 可移植性缺陷
  • 应急响应:玄机_Linux后门应急
  • C++:捕获 shared_from_this()和捕获this的区别
  • 网络协议之TCP
  • 《澳鹏AI全景报告2024》分析最新的数据挑战