要点

  • 多级镜像打包
  • COPY --from
  • RUN 命令加参数.
    1. FROM golang:1.13.3 as basic
    2. WORKDIR /
    3. COPY . .
    4. RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app .
    5. FROM alpine:latest
    6. ENV projectName=supplier
    7. ENV GIN_MODE=release
    8. WORKDIR /$projectName/
    9. COPY --from=basic app .
    10. COPY gateway.yml .
    11. RUN chmod +X app
    12. CMD ["./app"]

    踩坑

    使用 GOPROXY

    指定了 GOPROXY 后,发现使用了代理,编译速度有很大提升。
    1. ENV GOPROXY="https://mirrors.aliyun.com/goproxy/"
    2. RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app .