现象:go编译好的执行文件,docker build后不能在容器里执行。报错no file
    即使你ls看到一个执行文件,但是执行是就报错。

    原因是docker build的基础版本是alpine,它是及其简化的,缺少依赖文件。

    解决方法:
    1)用centos或其他做基础镜像
    2)apk:
    在dockfile或执行前:
    sed -i ‘s/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g’ /etc/apk/repositories
    apk add libc6-compat
    3)编译时:go build -ldflags “-extldflags -static” -a -tags netgo