Dockerfile 646 B

1234567891011121314151617181920212223242526272829
  1. # build stage
  2. FROM golang:1.17 AS builder
  3. WORKDIR /app
  4. COPY . .
  5. RUN go env -w GO111MODULE=on \
  6. && go env -w GOPROXY=https://goproxy.cn,direct \
  7. && make clean build
  8. # final stage
  9. FROM debian:stable-slim
  10. LABEL name=backup-x
  11. LABEL url=https://github.com/jeessy2/backup-x
  12. RUN apt-get -y update \
  13. && apt-get install -y ca-certificates curl \
  14. && apt-get install -y postgresql-client \
  15. && apt-get install -y default-mysql-client
  16. RUN useradd -s /bin/bash appuser
  17. USER appuser
  18. WORKDIR /app
  19. VOLUME /app/backup-x-files
  20. ENV TZ=Asia/Shanghai
  21. COPY --from=builder /app/backup-x /app/backup-x
  22. EXPOSE 9977
  23. ENTRYPOINT ["/app/backup-x"]