Dockerfile 955 B

123456789101112131415161718192021222324252627282930313233343536
  1. # FROM 基于 golang:1.16-alpine
  2. FROM golang:1.16-alpine AS builder
  3. # ENV 设置环境变量
  4. ENV GOPATH=/opt/repo
  5. ENV GO111MODULE=on
  6. ENV GOPROXY=https://goproxy.io,direct
  7. # COPY 源路径 目标路径
  8. COPY . $GOPATH/src/github.com/xinliangnote/go-gin-api
  9. # RUN 执行 go build .
  10. RUN cd $GOPATH/src/github.com/xinliangnote/go-gin-api && go build .
  11. # FROM 基于 alpine:latest
  12. FROM alpine:latest
  13. # RUN 设置代理镜像
  14. RUN echo -e http://mirrors.ustc.edu.cn/alpine/v3.13/main/ > /etc/apk/repositories
  15. # RUN 设置 Asia/Shanghai 时区
  16. RUN apk --no-cache add tzdata && \
  17. ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
  18. echo "Asia/Shanghai" > /etc/timezone
  19. # COPY 源路径 目标路径 从镜像中 COPY
  20. COPY --from=builder /opt/repo/src/github.com/xinliangnote/go-gin-api /opt
  21. # EXPOSE 设置端口映射
  22. EXPOSE 9999/tcp
  23. # WORKDIR 设置工作目录
  24. WORKDIR /opt
  25. # CMD 设置启动命令
  26. CMD ["./go-gin-api", "-env", "fat"]