1.使用golang:tag 这种镜像编译后在alpine中会报错(not found)
原因是:go默认会使用glibc,而alpine中没有glibc,所以会报错
解决办法有三种:
- 连接
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86_64.so.2
,建立一个glic链接 - 使用
golang:tag-alpine
镜像编译,编译系统和运行系统都用alpine - 编译时禁用CGO
CGO_ENABLED=0 go build
编译出来的文件不依赖动态库