Dockerfile 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. # docker build --no-cache=true -t psiphon-inproxy-test .
  2. #
  3. # docker run \
  4. # --platform=linux/amd64 \
  5. # --user "$(id -u):$(id -g)" \ [maybe omit this line]
  6. # --rm \
  7. # -v $(go env GOCACHE):/.cache/go-build \
  8. # -v $(go env GOMODCACHE):/go/pkg/mod \
  9. # -v $PWD:/go/src/inproxy \
  10. # psiphon-inproxy-test \
  11. # /bin/bash -c 'PION_LOG_TRACE=all go test -v -timeout 30s -run TestInProxy'
  12. FROM --platform=linux/amd64 ubuntu:18.04
  13. # Install system-level dependencies.
  14. ENV DEBIAN_FRONTEND=noninteractive
  15. RUN apt-get update -y && apt-get install -y --no-install-recommends \
  16. build-essential \
  17. ca-certificates \
  18. curl \
  19. git \
  20. pkg-config \
  21. && apt-get clean \
  22. && rm -rf /var/lib/apt/lists/*
  23. # Install Go.
  24. ENV GOVERSION=go1.19.2 GOROOT=/usr/local/go GOPATH=/go PATH=$PATH:/usr/local/go/bin:/go/bin CGO_ENABLED=1
  25. RUN curl -L https://storage.googleapis.com/golang/$GOVERSION.linux-amd64.tar.gz -o /tmp/go.tar.gz \
  26. && tar -C /usr/local -xzf /tmp/go.tar.gz \
  27. && rm /tmp/go.tar.gz \
  28. && echo $GOVERSION > $GOROOT/VERSION
  29. WORKDIR /go/src/inproxy