Dockerfile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # web
  2. FROM node:16.17.1-alpine3.15 as builder_node
  3. ENV VERSION 0.9.4
  4. WORKDIR /web
  5. COPY ./web /web
  6. RUN yarn install \
  7. && yarn run build \
  8. && ls /web/ui
  9. # server
  10. FROM golang:1.19-alpine as builder_golang
  11. #TODO 本地打包时使用镜像
  12. ENV GOPROXY=https://goproxy.io
  13. ENV GOOS=linux
  14. WORKDIR /anylink
  15. COPY . /anylink
  16. COPY --from=builder_node /web/ui /anylink/server/ui
  17. #TODO 本地打包时使用镜像
  18. RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
  19. RUN apk add --no-cache git gcc musl-dev
  20. RUN cd /anylink/server;go mod tidy;go build -o anylink -ldflags "-X main.CommitId=$(git rev-parse HEAD)" \
  21. && /anylink/server/anylink tool -v
  22. # anylink
  23. FROM alpine
  24. LABEL maintainer="github.com/bjdgyc"
  25. #ENV IPV4_CIDR="192.168.10.0/24"
  26. WORKDIR /app
  27. COPY --from=builder_golang /anylink/server/anylink /app/
  28. COPY docker_entrypoint.sh /app/
  29. #COPY ./server/bridge-init.sh /app/
  30. COPY ./server/conf /app/conf
  31. COPY ./LICENSE /app/LICENSE
  32. #TODO 本地打包时使用镜像
  33. RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
  34. RUN apk add --no-cache bash iptables \
  35. && chmod +x /app/docker_entrypoint.sh \
  36. && ls /app
  37. EXPOSE 443 8800
  38. #CMD ["/app/anylink"]
  39. ENTRYPOINT ["/app/docker_entrypoint.sh"]