Dockerfile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. FROM golang:1.15-alpine AS builder
  2. RUN go env -w GO111MODULE=on
  3. RUN go env -w GOPROXY=https://goproxy.cn,direct
  4. COPY . /go/src/construction_management
  5. # 编译
  6. WORKDIR /go/src/construction_management/server/web
  7. #install 执行文件会生成在 gopath/bin 中
  8. RUN go install ./
  9. FROM alpine:3.13
  10. # 把编译环境中编译好的 chat 复制到生产镜像中的 bin/chat 文件名称 不是目录
  11. #COPY --from=builder /go/bin/chat /bin/chat
  12. # /chat 放到根目录
  13. COPY --from=builder /go/bin/web /server
  14. COPY --from=builder /go/src/construction_management/server/web/config-debug.yaml /config-debug.yaml
  15. COPY --from=builder /go/src/construction_management/server/web/config-uat.yaml /config-uat.yaml
  16. COPY --from=builder /go/src/construction_management/server/web/config-pro.yaml /config-pro.yaml
  17. RUN mkdir -p /lib
  18. COPY --from=builder /go/src/construction_management/server/lib/*.json /lib/
  19. RUN chmod 777 /lib/*.json
  20. RUN chmod 777 /server
  21. RUN chmod 777 /config-debug.yaml
  22. RUN chmod 777 /config-uat.yaml
  23. RUN chmod 777 /config-pro.yaml
  24. ENV ADDR=:6060
  25. # 申明暴露的端口
  26. EXPOSE 6060
  27. # 设置服务入口
  28. ENTRYPOINT ["sh","-c", "/server" ]
  29. # FROM centos:7
  30. # ADD /bin/ /
  31. # RUN chmod 777 /construction_management
  32. # ENV PARAMS=""
  33. # EXPOSE 6060
  34. # ENTRYPOINT ["sh","-c","/construction_management $PARAMS"]