只要在 go build 时增加 --tags netgo 编译出来的二进制文件就可以在alpine 容器中运行
例如
yao@yao-dc:~/linux2019/gpio$ go build --tags netgo -o gpio *.go
yao@yao-dc:~/linux2019/gpio$
对应的dockerfile 可以是
FROM docker.io/alpine:latest
ADD . /
LABEL Name=gpio Version=0.0.1
EXPOSE 3200
CMD ["./gpio"]
具体原因说不清,大约和静态库有关。反正好使。