使用go build静态链接共享库

I need to create a static library to run it in a docker container. When running my code with go run main.go it just runs smoothly. However, things get complicated when I try to build my code as a static program (re-compile all dynamic dependencies into a standalone lib, including shared libraries).

My app depends on a C shared library located in my /usr/local/lib/librandom_c.so, while my app source code is located in $GOPATH/src/github.com/<user>/myapp.

When I build the app without trying to statically link the shared library, it works without complaining:

go build -a -o hello .

...but then docker complains that the shared library does not exist (using from scratch).

So far I have tried many combinations to statically build my app:

go build -a -ldflags '-linkmode "external" -extldflags "-static"' -o hello .

gives an error:

cannot find -lrandom_c

How do I statically link my lib?