go项目基于alpine 构建docker镜像,启动容器的时候一直报错 standard_init_linux.go:211: exec user process caused "no such file or directory"

问题找到了,一个是静态链接,一个是动态链接,动态链接的在微型镜像alpine上不支持。

总结
默认go使用静态链接,在docker的golang环境中默认是使用动态编译。
如果想使用docker编译+alpine部署,可以通过禁用cgo set CGO_ENABLED=0来解决。
如果要使用cgo可以通过go build --ldflags "-extldflags -static" 来让gcc使用静态编译。

引用来自:出处

posted @ 2020-03-11 14:57  暧昧Gg  阅读(863)  评论(0)    收藏  举报