测试人社区

容器中查看文件时,报端口问题

环境:
mall商城中的mall-portal应用 部署到docker 中
dockerfile命令是启动jar包并写日志:
ENTRYPOINT [“java”, “-jar”,"/mall-portal-1.0-SNAPSHOT.jar",">","/var/logs/spring.log","&"]
步骤:
到容器中查看spring.log,出现端口问题,如下图:


从8085端口看,是一个java服务在使用,由于在dockerfile 中声明的mall-portal EXPOSE 8085,推测这里就是mall-portal在使用8085,没有想明白。
老师那里是可以查看到日志的,如下图:
image

在测试/cart/list/promotion接口时,响应为:{“timestamp”:“2020-10-18T14:42:50.242+00:00”,“status”:500,“error”:“Internal Server Error”,“message”:"",“path”:"/cart/list/promotion"}
由于老师说可以查看日志看到更多信息,于是出现上述端口的问题。

试过使用docker logs 容器名,查看mall-portal的日志,打印的是代码运行报错的日志,如下图:
与老师的也不一样

可以先看一下宿主机的8085端口有没有被占用

宿主机上只有docker监听8085,应该是启mall-portal容器做的端口映射
image

又看了一下docker logs mall-portal打印的信息,与老师进入容器tail -f spring.log的信息,应该是同一处,那我的原始需求就解决了。只是我的日志是代码报错的。
不过原始需求衍生的本次端口问题仍不清楚