github.com/Mrs4s/go-cqhttp@v1.2.0/Dockerfile (about)

     1  FROM golang:1.20-alpine AS builder
     2  
     3  RUN go env -w GO111MODULE=auto \
     4    && go env -w CGO_ENABLED=0 \
     5    && go env -w GOPROXY=https://goproxy.cn,direct
     6  
     7  WORKDIR /build
     8  
     9  COPY ./ .
    10  
    11  RUN set -ex \
    12      && cd /build \
    13      && go build -ldflags "-s -w -extldflags '-static'" -o cqhttp
    14  
    15  FROM alpine:latest
    16  
    17  COPY docker-entrypoint.sh /docker-entrypoint.sh
    18  
    19  RUN chmod +x /docker-entrypoint.sh && \
    20      apk add --no-cache --update \
    21        ffmpeg \
    22        coreutils \
    23        shadow \
    24        su-exec \
    25        tzdata && \
    26      rm -rf /var/cache/apk/* && \
    27      mkdir -p /app && \
    28      mkdir -p /data && \
    29      mkdir -p /config && \
    30      useradd -d /config -s /bin/sh abc && \
    31      chown -R abc /config && \
    32      chown -R abc /data
    33  
    34  ENV TZ="Asia/Shanghai"
    35  ENV UID=99
    36  ENV GID=100
    37  ENV UMASK=002
    38  
    39  COPY --from=builder /build/cqhttp /app/
    40  
    41  WORKDIR /data
    42  
    43  VOLUME [ "/data" ]
    44  
    45  ENTRYPOINT [ "/docker-entrypoint.sh" ]
    46  CMD [ "/app/cqhttp" ]