123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #前端预构建
- FROM cmfont-cache:latest as builderFont
- COPY /client .
- RUN cnpm run build
- # 后端预构建
- FROM cm-gocache:latest AS builder
- RUN go env -w GO111MODULE=on
- RUN go env -w GOPROXY=https://goproxy.cn,direct
- COPY . /go/src/construction_management
- # 编译
- WORKDIR /go/src/construction_management/server/web
- #install 执行文件会生成在 gopath/bin 中
- RUN go install ./
- # 正式镜像
- FROM alpine:3.13
- # 安装nginx
- RUN echo http://mirrors.aliyun.com/alpine/v3.10/main>/etc/apk/repositories && \
- echo http://mirrors.aliyun.com/alpine/v3.10/community>>/etc/apk/repositories
- RUN apk update && apk upgrade \
- && apk add nginx \
- && mkdir /run/nginx \
- && touch /run/nginx.pid && \
- chmod 755 /run.sh && \
- apk del m4 autoconf make gcc g++ linux-headers
- RUN find / -name ngnix.pid
- # 复制配置文件和前端文件
- COPY --from=builder /go/src/construction_management/deployment/default.conf /etc/nginx/conf.d
- COPY --from=builderFont /build /var/www/html/client
- # 后端相关
- # 把编译环境中编译好的 chat 复制到生产镜像中的 bin/chat 文件名称 不是目录
- #COPY --from=builder /go/bin/chat /bin/chat
- # /chat 放到根目录
- COPY --from=builder /go/bin/web /server
- COPY --from=builder /go/src/construction_management/server/web/config-debug.yaml /config-debug.yaml
- COPY --from=builder /go/src/construction_management/server/web/config-uat.yaml /config-uat.yaml
- COPY --from=builder /go/src/construction_management/server/web/config-pro.yaml /config-pro.yaml
- RUN mkdir -p /lib
- COPY --from=builder /go/src/construction_management/server/lib/*.json /lib/
- RUN chmod 777 /lib/*.json
- RUN chmod 777 /server
- RUN chmod 777 /config-debug.yaml
- RUN chmod 777 /config-uat.yaml
- RUN chmod 777 /config-pro.yaml
- ENV ADDR=:6060
- # 申明暴露的端口
- EXPOSE 80
- EXPOSE 6060
- # 设置服务入口
- ENTRYPOINT ["/run.sh"]
- # ENTRYPOINT ["sh","-c", "/server" ]
- # FROM centos:7
- # ADD /bin/ /
- # RUN chmod 777 /construction_management
- # ENV PARAMS=""
- # EXPOSE 6060
- # ENTRYPOINT ["sh","-c","/construction_management $PARAMS"]
|