docker 容器报core dump错误,python程序异常终止

一,准备

1,启动容器,一定要加 --privileged --ulimit core=-1 这个参数,不然无法生成coredump文件

docker run -itd  --privileged --ulimit core=-1 镜像 /bin/sleep 3600

步骤二:设置core dump文件位置

vi /etc/sysctl.conf

修改(添加)如下两个变量

kernel.core_pattern =/var/core/core_%e_%p

kernel.core_uses_pid= 0


这里是改为生成目录在/var/core/,%e代表程序名称,%p是进程ID

如果想直接生成在可执行文件相同目录,前面不要加任何目录,直接

kernel.core_pattern =core_%e_%p


步骤三:让修改生效

sysctl -p/etc/sysctl.conf

二, 运行程序,出发coredump

自己运行程序,出发异常

三,拷贝出coredump文件,使用gdb排查

gdb /usr/local/bin/python core_python_618

排查到libcrypto.so.1.1引起的错误。经测试是python的requests库,请求https资源的时候出错,临时办法是加verify=False。根本解决是重装openssl

猜你喜欢

转载自blog.csdn.net/u014108439/article/details/113113033