我正在尝试开发一个开源 TSDB TDengine,并在 alpine 中编译它以使其 Docker 化。编译后,只需运行taosd二进制文件,就会导致段错误(coredumped),但我找不到核心文件。
我已经搜索并使用 sysctl 来设置核心模式,并且 ulimic -c 是无限的。但它未能应用 sysctl,如下所示。
# ulimic -c
unlimited
# sysctl -w kernel.core_pattern=core-%e.%p.%h.%t
sysctl: error setting key 'kernel.core_pattern': Read-only file system
Run Code Online (Sandbox Code Playgroud)
如何在alpine中生成core文件?
我终于找到了解决方案:
docker run -it --rm --ulimit core=-1 --privileged -v $PWD:/coredump <myimage> bash
Run Code Online (Sandbox Code Playgroud)
在容器中,设置核心模式并运行应用程序:
sysctl -w kernel.core_pattern=/coredump/core-%e.%p.%h.%t
app # coredumped to /coredump/ directory
Run Code Online (Sandbox Code Playgroud)
由于我们将 $PWD 挂载到 /coredump,因此我们可以在当前目录中看到 core 文件。
| 归档时间: |
|
| 查看次数: |
1992 次 |
| 最近记录: |