Go 使用centos7作为Jaeger的基本映像

Go 使用centos7作为Jaeger的基本映像,go,jaeger,Go,Jaeger,我正在尝试使用CentOS base映像而不是Alpine来设置Jaeger。代理、收集器和Cassandra容器都可以正常工作,但查询容器除外。 Jaeger存储库是。 在将基本映像更改为CentOS 7、注释掉应用于复制ca certificates.crt的部分并运行docker compose后,我在跟踪查询容器时收到以下零指针错误消息 goroutine 1 [running]: github.com/jaegertracing/jaeger/cmd/query/app.NewStat

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

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
死机:运行时错误:无效内存地址或零指针取消引用

我使用必要的标志运行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

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

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


听起来代码中似乎有错误,但问题中未包含完整错误和生成错误的代码。我已将其修改为包含完整错误。第三方软件中的错误应提交给问题跟踪者。