Dockerfile.build.aarch64 998 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FROM debian:buster
  2. RUN sed -i s/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list && \
  3. sed -i s/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list
  4. RUN apt-get clean
  5. RUN apt-get update -y && \
  6. apt-get install -y \
  7. curl \
  8. git \
  9. make \
  10. automake \
  11. autoconf \
  12. tar \
  13. ca-certificates \
  14. build-essential \
  15. --no-install-recommends
  16. # prepare env
  17. ADD go.tgz /usr/local/
  18. ENV GOROOT /usr/local/go
  19. ENV GOPATH /go
  20. ENV PATH ${PATH}:${GOROOT}/bin:${GOPATH}/bin
  21. ENV GO111MODULE on
  22. ENV GOPROXY https://goproxy.cn,direct
  23. # cross complie env
  24. ADD aarch64-linux-musl-cross.tgz /usr/local
  25. ENV PATH ${PATH}:/usr/local/aarch64-linux-musl-cross/bin
  26. RUN mkdir -p $GOPATH/bin || true
  27. ENV GOOS linux
  28. ENV GOARCH arm64
  29. ENV CC /usr/bin/aarch64-linux-musl-gcc
  30. ENV LD /usr/bin/aarch64-linux-musl-ld
  31. ENV AR /usr/bin/aarch64-linux-musl-ar
  32. ENV CXX /usr/bin/aarch64-linux-musl-g++
  33. ENV CGO_CFLAGS '-g -O2 -Wno-return-local-addr'
  34. ENV CGO_ENABLED 1