场景
在Dockerfile中使用golang1.12的镜像编译一个go文件并拷贝到alpine镜像中启动运行报错
分析
ldd查看运行该二进制文件所需库
/tmp # ldd app
/lib64/ld-linux-x86-64.so.2 (0x7f61ec7ce000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f61ec7ce000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f61ec7ce000)
而alpine环境中没有这些库
解决
编译go文件时配置参数:CGO_ENABLED=0