一、首先查看宿主机端口

#一般宿主机ip为容器网络层的网关gateway,查询一下,其中nginx为容器名称,可以为使用容器id,容器id可以docker ps查看
docker inspect nginx --format {{.NetworkSettings.Gateway}}
#结果就是网关,宿主机ip
[root@VM-0-7-centos vhost]# docker inspect nginx --format {{.NetworkSettings.Gateway}}
172.17.0.1

二、查找连接不上宿主机端口原因,安装telnet命令

#这两个命令可以安装telnet
apt-get update
apt-get install telnet -y
#等待安装完使用命令
telnet 172.17.0.1 80  #发现是通畅的
telnet 172.17.0.1 8888  #发现是通畅的
telnet 172.17.0.1 8088  #发现不通畅

三、排查原因
原因:防火墙原因tcp放开对应端口

#查看防火墙状态,运行中
firewall-cmd --state
#查看放开的端口,开放这几个端口,8088为放开
firewall-cmd --list-all

在这里插入图片描述
通过下面命令解决后,会发现访问没有问题了。

# 开放8088端口
firewall-cmd --permanent --add-port=8088/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐