docker容器无法访问宿主机报出 No route to host
项目场景:
提示:docker容器无法访问宿主机报出 No route to host:
例如:防火墙环境下,docker容器无法访问宿主机的其他应用端口
原因分析:
在进行docker部署的时候我们采用的是bridge网桥的模式。
启动docker时,docker进程会创建一个名为docker0的虚拟网桥,用于宿主机与容器之间的通信。当启动一个docker容器时,docker容器将会附加到虚拟网桥上,容器内的报文通过docker0向外转发。
如果docker容器访问宿主机,那么docker0网桥将报文直接转发到本机,报文的源地址是docker0网段的地址。而如果docker容器访问宿主机以外的机器,docker的SNAT网桥会将报文的源地址转换为宿主机的地址,通过宿主机的网卡向外发送。
因此,当docker容器访问宿主机时,如果宿主机服务端口会被防火墙拦截,从而无法连通宿主机,出现No route to host的错误。
解决方案:
linux宿主机依次执行命令
- 配置docker0服务到受信任连接
nmcli connection modify docker0 connection.zone trusted
- 停止NetworkManager(检测网络、自动连接网络的程序)服务
systemctl stop NetworkManager.service
- 修改docker网络接口为内部区域(永久)
firewall-cmd --permanent --zone=trusted --change-interface=docker0
- 启动NetworkManager(检测网络、自动连接网络的程序)服务
systemctl start NetworkManager.service
- 配置docker0服务到受信任连接
nmcli connection modify docker0 connection.zone trusted
- 重启docker服务
systemctl restart docker.service
关注Github:1/2极客
关注博客:御前提笔小书童
关注网站:开发者的花花世界
关注公众号:开发者的花花世界
docker容器无法访问宿主机报出 No route to host相关推荐
- 17.Docker 容器时间与宿主机同步
Docker容器时间与宿主机同步 BY 赫墨拉 · PUBLISHED 2018年7月10日 · UPDATED 2019年6月10日 问题描述: 在我们平时使用docker,运行我们的应用的时候,访 ...
- 【docker】使用云服务器运行docker时无法访问宿主机的映射端口
导语:这几天在学docker,在学到容器映射端口时,总是无法访问到宿主机的对应端口,这就很纳闷了,IP地址和端口号都是对应的,eth0的IP地址加上容器外端口.不过想了一下,唯一区别是我在云服务器上跑 ...
- docker 容器内访问宿主ip
在生产环境下难免会在容器内访问宿主服务,此时只需要使用host.docker.internal即可,如ping host.docker.internal输出如下 PING host.docker.in ...
- docker容器正常启动宿主机却无法正常访问
问题:重新开启linux虚拟机后有时候可以访问有时候不可以访问docker容器或者完全无法访问 原因:linux内核版本和docker版本不兼容 解决:更新linux内核版本 yum update - ...
- Docker容器时间与宿主机同步
转载地址:http://www.louisvv.com/archives/1716.html 问题描述: 在我们平时使用docker,运行我们的应用的时候,访问应用页面的时间与现在相差8个小时 无法结 ...
- docker容器端口影射宿主机端口
#将容器的8080端口映射宿主机端口8080 –name:给容器起的名称 docker run -d -p 8080:8080 --name="tomcat7" -id 1130e ...
- Docker容器时间与宿主机不一致?3个解决方案
目录 前言 更新历史 问题描述 解决方案 docker run 添加时间参数 Dockerfile解决方案 docker-compose解决方案 宿主机直接执行命令给某个容器同步时间 异常问题 Doc ...
- 【Docker】docker容器内获取宿主机的信息和执行宿主机的脚本
思路 我们可以通过在容器内远程连接宿主机,然后对宿主机进行操作. 使用 sshpass (我的是CentOS 7.9环境) 1.安装sshpass apt-get update //更新一下 apt- ...
- docker容器时区与宿主机不一致的解决方法
一般情况下,我们的宿主机服务器的时区都是在东八区,而docker容器里却是在零时区.这样就导致了时间差了8个小时,所以需要把容器的时间也设置成东八区. 在dockerfile中的设置如下: RUN l ...
最新文章
- 重磅 | 2018年清华大学研究生新生大数据
- c#_限制TextBox输入类型仅可为“-” “.” 数字
- Google的深度学习强在哪?谷歌首席科学家说了这些奇妙特性
- python实现冒泡排序算法的非递归版本_python排序算法速度比较:快速排序,归并排序,冒泡排序...
- ASP.NET MVC下使用AngularJs语言(三):ng-options
- python中用于输出内容到终端的函数是_python执行linux shell管道输出内容
- ubuntu下执行umount无法卸载目录
- php斐波那契数列循环,两种php实现斐波那契数列的方法
- php pos系统,Linux下的十大开源POS系统软件
- jquery版本问题
- 客户画像、精准营销与数字化运营
- 贪心科技SkipGram 2020.4.3笔记
- Excel一点击编辑就程序卡死
- 订单减库存 java_高并发场景-订单库存防止超卖
- 微信自定义链接分享网页(设置标题+简介+图片)
- android微信解析失败,为什么我的手机安装不上微信,一安装就说解析包错误
- mac打开.caj格式文件
- IDEA使用单元测试对数据库的insert语句进行测试,出现添加多条问题的解决方案
- 装修甲醛怎么办?自制小程序监控的甲醛检测仪
- 虚拟主机cPanel面板查看服务器的访问日志
热门文章
- 孤尽T31项目Day3
- 迷你英雄无限服务器没了吗,迷你英雄:无限无法连接服务器是什么原因
- 从时间管理到管理情绪,这些自我管理的技巧你知道几个?
- NUMECA/FineTurbo计算中自动调用CFview实时数据处理
- 华为数通笔记-IPV6基础
- React控制台警告Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until
- 博图买什么样配置的笔记本_西门子PLC编程软件-博图软件用什么配置的电脑最好?...
- el-table表格操作列合并行
- 嵌入式 ADC使用手册完整版 (188977万字)(附源码详细篇)
- 【备忘】es统计用户留存数据,公式都一样,语句和mysql区别很大