Alpine中的go打包

go关于alpine打包问题

因为alpine使用的是musl libc而平时的ubuntu之类的Linux用的glic导致在ubuntu打包的go二进制文件在alpine中无法正常的执行

  • 解决方案一 使用dockerfile的多阶段构建镜像,找一个官方的go的alpine镜像环境在里面打包 然后再将包放入alpine镜像,并且加入环境变量
    FROM golang:1.23.0-alpine3.20 as builder
    WORKDIR /app
    COPY ./ /app
    RUN ./build.sh linux
    
    FROM alpine
    WORKDIR /app
    COPY --from=builder /app/bin/redisCmd /usr/local/bin
0%