Docker编译Go写的程序报错EOF

环境:

  • MacOS 10.13.2
  • go version 1.9.2
  • docker 17.12.0-ce

报错如下:

import /usr/local/go/pkg/linux_amd64/io.a: reading input: EOF

import /usr/local/go/pkg/linux_amd64/log.a: reading input: EOF

go build -a 全量编译是可以,那么可能就是编译的中间.a文件方面有问题

诊断/修复问题

docker run –rm -it -v $GOPATH:/go golang:1.9 bash

文件有大小,没内容(至少无法读取到内容)

log.a 文件有大小,里面却没内容

docker rmi删除golang的镜像,重新拉取一下就正常了,

可能是当时升级Docker For Mac后,来取的镜像有点问题导致AUFS这块不正常了(猜测)。