关于docker容器机制下LB和目标应用容器的访问问题

起因:初步推测是esm不当操作导致服务访问失败。

 

现象:使用http://test.esm.zte.com.cn/module/

                 http://10.5.16.156/module/都无法访问接口,但是http://10.5.16.156/mdm8可以进入主数据入口。

am12:00之前,主要排除问题点,1,域名访问;

                                                   2,微服务版本;

获取以下信息: 备注,BDA在szxl下面的租户有如下三台:

1,结合昨晚126报错过,在启动项里面将esm启动宿主机器指定为127,启动成功,并且成功访问-->126机器访问出现问题;

2,具体问题集中到126上:

        通过esm看容器log,没有什么问题,日志正常;

        然后再到宿主机: 使用docker ps查看启动中的容器,并且根据 docker log 容器ID来查询容器里面的日志,日志依然正常;-->锁定问题出在LB->126上;

这个时候遇到问题是,如何确定LB->容器(物理机为126)是不通的!

提供一个方法:

           登录esm,进入LB的微服务,进入LB微服务本身控制台。通过使用:

            curl http://localhost/module/info

            curl http://localhost/mdmclean/info

            curl http://localhost/mdmcode/info

关于docker容器机制下LB和目标应用容器的访问问题

三个入口都无法正常返回 ,报错503(同样的方法访问curl http://localhost/mdm/info可以连通,所以更能确定127访问是有效的)

重启LB,故障依旧;

然后提供了一个万能方法,重启126(主机重启后docker进程会自动起来的,然后rancher集群的编排系统会根据编排文件compose.yml起动容器)

再次访问curl,接口连通。访问test.emdm.zte.com.cn/module,网页返回正常。

 

 

 

-----------------------------------

常用docker调优命令

1,docker查看当前生存的容器
docker ps,从中捞取container id

2,根据容器id,可以看日志
docker log 容器id
或者:在docker容器宿主机上查看日志
     docker logs -f -t --since="2020-03-25" --tail=/usr/bin/docker-containerd-shim-current acada8d36d28ad6c0b629563df750d7d5fb3df0edc405d30c1647f1982c8bc2e

3,进入容器
  docker attach  容器id