一、首先查看宿主机端口
#一般宿主机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