一、问题说明
1.linux服务器使用的不是root用户权限
2.docker应用服务没有关闭的情况下,做了些重装docker,重启docker等操作
3.docker-compose up -d然后docker logs查看日志报端口被占用
4.netstat -ntpl | grep 端口 也没查出具体pid
5.实际是确实是端口被占用了,只是查端口占用情况普通账号没有看到详细信息pid,加sudo即可查看到pid,然后kill掉即可
6.并不是什么大问题,希望能帮助到你
二、排查过程
1.排查的时候以为是Dockerfile的端口暴露与docker-compose.yaml文件的端口绑定冲突了,后来去掉其中一个并不会解决问题
2.netstat -ntpl | grep 端口 也没查出具体pid,结果是这样的:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 :::8963 :::* LISTEN -
3.没有看出pid,以为没有进程占用,感觉是不是启动的时候是2个进程先后启动,关闭的时候又同时关闭的
4.信息也说明需要用root用户去查看完整信息,于是加了sudo,即sudo netstat -ntpl | grep 端口,结果是有进程占用的:
tcp6 0 0 :::8963 :::* LISTEN 9152/java