用go写了一个项目,build后,打包成镜像运行。
查看运行日志,发现如下报错:
standard_init_linux.go:228: exec user process caused: no such file or directory
经过查阅资料后得知,golang在编译时可以选择使用C链接库(引用的C链接库不打包进程序)或者纯Go编译(打包所有用到的内容),而我使用的Go版本恰好又是默认使用C链接库也就是CGO方式编译的。
需在build可执行文件前,执行如下命令:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64