github.com/lzhfromustc/gofuzz@v0.0.0-20211116160056-151b3108bbd1/docker/builder/Dockerfile (about) 1 FROM golang:1.16.4 2 3 RUN apt update && apt install -y python3 4 RUN apt-get update && apt-get install -y --no-install-recommends \ 5 build-essential \ 6 curl \ 7 cmake \ 8 gcc \ 9 git \ 10 libapparmor-dev \ 11 libbtrfs-dev \ 12 libdevmapper-dev \ 13 libseccomp-dev \ 14 ca-certificates \ 15 e2fsprogs \ 16 iptables \ 17 pkg-config \ 18 pigz \ 19 procps \ 20 xfsprogs \ 21 xz-utils \ 22 \ 23 aufs-tools \ 24 vim-common \ 25 && rm -rf /var/lib/apt/lists/* 26 27 WORKDIR /repos 28 RUN git clone https://github.com/grpc/grpc-go.git 29 RUN cd grpc-go && git checkout 9280052d36656451dd7568a18a836c2a74edaf6c 30 31 # override leakcheck.go to prevent sideeffect of leakcheck to the benchmark 32 COPY docker/builder/leakcheck.go internal/leakcheck/leakcheck.go 33 34 # avoid testsuite 35 RUN grep -rl 'func (s) Test' ./ | xargs sed -i 's/func (s)/func/g' 36 37 WORKDIR /gofuzz 38 39 # copy source files to docker 40 COPY goFuzz ./goFuzz 41 COPY sync ./sync 42 COPY runtime ./runtime 43 COPY scripts ./scripts 44 COPY time ./time 45 COPY reflect ./reflect 46 RUN cd goFuzz && make build 47 48 WORKDIR /scripts 49 COPY docker/builder/entrypoint.sh ./entrypoint.sh 50 RUN chmod +x entrypoint.sh 51 ENTRYPOINT [ "/scripts/entrypoint.sh" ]