standard_init_linux.go:178: exec user process caused "no such file or directory"

golang docker build 制作完进项后运行报错

出现该问题的原因是编译的环境和运行的环境不同,可能有动态库的依赖

1.默认go使用静态链接,在docker的golang环境中默认是使用动态编译。

2.如果想使用docker编译+alpine部署,可以通过禁用cgoCGO_ENABLED=0来解决。

3.如果要使用cgo可以通过go build --ldflags "-extldflags -static" 来让gcc使用静态编译。

参考: https://yryz.net/post/golang-docker-alpine-start-panic.html