docker容器内部可以访问,外部无法访问的处理
最近学习微服务架构技术当中遇到了docker访问容器,内部可以访问外部却无法访问的问题,网上查找了许多资料后最后解决了问题,现将问题及解决方法记录如下:
1.外部无法访问nginx
将docker容器部署后台运行后,发现无法通过ip(宿主机ip地址,可以通过ifconfig去查看eno***的inet地址便可,也可直接填写localhost):80(例如:localhost:80)去访问却发现访问失败

2.内部访问成功
于是我想先看看docker内部是否可以访问得到,先检查nginx是否开启,通过docker ps -a查看,发现状态为开启,接下来进入nginx中,通过命令docker exec -it mn bash (这里mn为我设置的nginx的容器名,大家可根据自己设置的容器名来进入)进入容器当中,输入curl http://localhost:80 来访问,我发现可以访问成功,那就说明内部是可以访问的;

3.检查防火墙是否关闭
通过 systemctl status firewalld 我检查防火墙也是关闭的;

4.升级版本并重启
就在一筹莫展之时,我想到是否是因为版本过旧不兼容等一些列问题导致,毕竟我用的软件距今已经很久远了,docker是才下载的,nginx也是最新的版本,于是问题就在linux内核上,我查了版本果然够久远,于是通过命令 yum update 更新内核版本,更新后通过 reboot 重启容器发现访问成功,果然是这里的问题。

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
docker部署OceanBase-ce cluster方式
这篇文章主要介绍了docker部署OceanBase-ce cluster方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03
Docker在CentOS7下不能下载镜像timeout的解决办法(图解)
本文给大家记录下Docker在CentOS7下不能下载镜像timeout问题的解决方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧2016-11-11
Docker Desktop虚拟化不支持导致启动失败问题及解决
文章详细介绍了Docker Desktop启动失败的常见原因及解决方法,包括BIOS/UEFI设置、Windows功能开启、重置环境、处理公司电脑策略、升级Windows等2026-01-01
docker-compose 搭建redis集群(三台服务器,每台服务器上一主一从)
本文主要介绍了Docker Compose搭建Redis集群是一种便捷高效的方法,本次搭建使用三台服务器,每台服务器上一主一从,具有一定的参考价值,感兴趣的可以了解一下2025-03-03
在 Ubuntu 下通过 Docker 部署 Mastodon&nbs
在Ubuntu系统上通过Docker部署Mastodon服务器的步骤,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧2025-03-03
基于Docker、Nginx和Jenkins实现前端自动化部署
本文主要介绍了搭建Docker+Nginx+Jenkins环境,用于实现前端自动化部署的流程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-07-07


最新评论