当9092端口连接不上,或部分终端连接不上,首先查看系统连接数是不是有限制
# 查看 9092 端口当前连接数
netstat -an | grep 9092 | wc -l
# 查看 Java 进程的最大文件句柄限制
cat /proc/177345/limits | grep "Max open files"
# 查看 Java 进程当前已用句柄数
lsof -p 177345 | wc -l
# 查看软限制(当前用户可使用的上限)
ulimit -n
# 查看硬限制(系统允许的最大上限,不可突破)
ulimit -Hn
# 进入容器
docker exec -it tomcat_websocket bash
# 查看当前句柄数限制
ulimit -n
当连接数很小时,需要修改连接时,比如java的链接限制是1024,那么需要修改docker容易得链接数为65535.
1.先查看容器信息,写重建脚本时需要此信息,每个用户的信息可能不相同,直接决定重建脚本如何写。输出的查看信息一定要复制保存。
# 查看容器的镜像、端口、数据卷、启动命令等核心配置
docker inspect tomcat_websocket | grep -E "Image|Ports|Volumes|Cmd|Name" -A 15
2.停止容器并删除容器
# 停止容器
docker stop tomcat_websocket
# 删除容器
docker rm tomcat_websocket
3.根据步骤1.的信息写重建脚本,然后执行脚本即可。
脚本已经写好(重建websocket容器脚本.sh),可以和输出的日志对比一下,没有问题直接运行就可以了。
