日志显示如下:
原因分析:
1、OpenBLAS线程创建失败(pthread_create failed),从而导致服务崩溃;
2、peration not permitted权限问题:容器可能缺少某些权限(比如 CAP_SYS_RESOURCE),导致无法创建足够线程;
解决办法:
在docker-compose.yaml文件中,docker-api-1、docker-worker-1、docker-sandbox-1的 ulimits 限制或者给予privileged特权权限
#方法 1:调整容器的 ulimit 限制
在 docker-compose.yml 中为服务增加资源限制配置:
services:
your_service:(例:api)
image: your_image
ulimits:
nproc: 65535 # 提高进程/线程数限制
nofile:
soft: 20000
hard: 40000
#方法 2:以特权模式运行容器
方法1无效,尝试赋予容器特权(谨慎):
services:
your_service:(例:api)
image: your_image
privileged: true # 允许容器访问宿主机资源