使用docker 发布的go编译的程序无法执行的问题

今天在容器中执行go静态编译的程序无法执行,提示 可执行程序 not found。经过尝试发现将程序放在较大容器镜像中的可以执行,放在小容器镜像(比如busybox,scratch)中无法执行。 
后来发现go 编译的程序如果涉及net package,还是会动态编译的。
解决方案可以在go 编译命令后加 -tags netgo 。比如 go build -tags netgo 
具体可见
https://stackoverflow.com/questions/36279253/go-compiled-binary-wont-run-in-an-alpine-docker-container-on-ubuntu-host

你可能感兴趣的:(Docker,go,linux)