Dockerfile 486 B

12345678910111213141516171819202122232425
  1. FROM golang:1.22-alpine AS builder
  2. WORKDIR /build
  3. COPY go.mod go.sum ./
  4. RUN go mod download
  5. COPY . .
  6. RUN go build -o ftp-server .
  7. FROM alpine:3.19
  8. RUN apk add --no-cache ca-certificates tzdata
  9. ENV TZ=Asia/Shanghai
  10. WORKDIR /app
  11. COPY --from=builder /build/ftp-server .
  12. COPY static/ ./static/
  13. RUN mkdir -p /app/data /app/ftp_root
  14. EXPOSE 2121 8080 50000-50100
  15. VOLUME ["/app/data", "/app/ftp_root", "/app/config.json"]
  16. ENTRYPOINT ["./ftp-server"]
  17. CMD ["-config", "/app/config.json"]