drone/Dockerfile
liupeng 7a66b2b63b
All checks were successful
continuous-integration/drone/push Build is passing
test
2024-03-12 18:21:44 +08:00

47 lines
1.9 KiB
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# syntax=docker/dockerfile:1.2
# FROM golang as builder
# ENV GO111MODULE on
# ENV GOPROXY=https://goproxy.io
# WORKDIR /src
# RUN groupadd -r appuser && useradd --no-log-init -r -g appuser appuser
# 通过提前运行go mod download可以使用cache编译避免每次编译都下载加快编译速度
# RUN --mount=type=cache,target=/go/pkg/mod/ \
# --mount=type=bind,source=/go.sum,target=/go.sum \
# --mount=type=bind,source=/go.mod,target=/go.mod \
# go mod download -x
# COPY . .
# RUN --mount=type=cache,target=/go/pkg/mod/ \
# GOOS=linux CGO_ENABLED=0 GOARCH=amd64 go build -o /bin/cli -ldflags="-w -s"
# 生成alpine部署容器
FROM scratch as client
LABEL MAINTAINER='LIU Peng<liupeng@daymele.com>'
WORKDIR /
# COPY --from=builder /bin/cli /cli
# COPY --from=builder /etc/passwd /etc/passwd
# COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
# COPY --from=builder /bin/appmain /bin/appmain
# USER appuser
COPY ./cli /cli
# 健康检测 scratch 镜像没有其它shell指令所以无法进行健康检测
# ADD ./hc.sh /root/healthcheck.sh
# HEALTHCHECK --start-period=60s --interval=15s --timeout=5s --retries=3 CMD /bin/ash /root/healthcheck.sh
# 时区处理(方法一:需要提前准备下两条scratch和alpine都可以使用)
# tar cfz zoneinfo.tar.gz /usr/share/zoneinfo
# cp /usr/share/zoneinfo/PRC PRC
ADD PRC /etc/localtime
ADD zoneinfo.tar.gz /
# 设置时区为上海
#RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
#RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
# && echo "Asia/Shanghai" > /etc/timezone \
# && apk del tzdata \
# && rm -rf /var/cache/apk/*
ENTRYPOINT ["/cli","-port","9000","-conf","/conf/daymele.conf"]
EXPOSE 9000
# docker image prune 删除悬虚镜像
# docker run --name res -d -p 7000:7011 -v /mnt/resdata:/data dev.daymele.com:5000/res --restart always