-3

我正在尝试使用 CentOS 基础映像而不是 Alpine 来设置 Jaeger。除了查询容器外,代理、收集器和 Cassandra 容器都可以正常工作。Jaeger 存储库在这里。将基本映像更改为 CentOS 7 后,注释掉适用于复制ca-certificates.crt和运行的部分后,docker-compose在拖尾查询容器时收到以下 nil 指针错误消息

恐慌:运行时错误:无效的内存地址或零指针取消引用

我使用必要的标志运行 makefile 来编译 app 目录中的代码。有没有人使用 CentOS 作为基础镜像设置 Jaeger?

下面是来自容器的完整堆栈错误

goroutine 1 [running]:
github.com/jaegertracing/jaeger/cmd/query/app.NewStaticAssetsHandler(0x0, 0x0, 0xe6cb85, 0x1, 0x0, 0x0, 0xc0000397a0, 0xc0000397b0, 0xc000137098)
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/cmd/query/app/static_handler.go:74 +0x5e
github.com/jaegertracing/jaeger/cmd/query/app.RegisterStaticHandler(0xc0000a7bd0, 0xc00009d080, 0xc0001eec80)
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/cmd/query/app/static_handler.go:45 +0x74
main.main.func1(0xc0001746c0, 0xc000184f60, 0x0, 0x2, 0x0, 0x0)
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/cmd/query/main.go:131 +0x14eb
github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra.(*Command).execute(0xc0001746c0, 0xc00008e0a0, 0x2, 0x2, 0xc0001746c0, 0xc00008e0a0)
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra/command.go:698 +0x47a
github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc0001746c0, 0x0, 0x4, 0xc00009cfc0)
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra/command.go:783 +0x2dc
github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra.(*Command).Execute(0xc0001746c0, 0xc0001746c0, 0xc000137f28)
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra/command.go:736 +0x2b
main.main()
    /Users/myusername/Go/src/github.com/jaegertracing/jaeger/cmd/query/main.go:172 +0x5a6
{"level":"info","ts":1539888666.5870771,"caller":"healthcheck/handler.go:99","msg":"Health Check server started","http-port":16687,"status":"unavailable"}
{"level":"info","ts":1539888666.6052766,"caller":"cassandra/factory.go:92","msg":"Cassandra archive storage configuration is empty, skipping"}
{"level":"info","ts":1539888666.6063912,"caller":"query/main.go:186","msg":"Archive storage not created","reason":"Archive storage not configured"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xbe2b9e
4

1 回答 1

0

这很可能是由于静态资产包含在二进制文件中造成的。您可以通过运行您编译的二进制文件来尝试一下。

与其自己编译,更好的方法是从发布页面获取官方二进制文件并使用它构建您的 Docker 容器。

https://github.com/jaegertracing/jaeger/releases/latest

于 2018-10-19T14:29:25.617 回答