-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.perf-client
48 lines (35 loc) · 1.39 KB
/
Dockerfile.perf-client
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# We can probably push a slimmer image with what we need, for now we are using buster slim
FROM debian:buster-slim
USER root
ENV DEBIAN_FRONTEND=noninteractive
# Use contrib non-free for netperf (this only works on stretch and earlier for now)
#RUN sed -i '/^\([^#].*main\)/s/main/& contrib non-free/' /etc/apt/sources.list
# Install netperf (only available in stretch non-free)
#RUN apt-get install -y netperf
RUN apt update -q
RUN apt install -y flent rsync
# Netperf build from source dependencies
RUN apt install -y git autotools-dev autoconf automake texinfo build-essential iputils-ping iperf3 bsdmainutils libsctp-dev iproute2
# For now pull netperf from github
RUN mkdir /home/src/
WORKDIR /home/src/
# Clone netperf from github
RUN git clone https://github.com/HewlettPackard/netperf.git
# Configure make install
RUN cd netperf && \
./autogen.sh && \
./configure --enable-demo && \
make && make install
# This is pretty insecure (docker history can pull keys out)
# find a better way to get this to communicate with the result server?
# IE: Mount .ssh volumes into each and share keys manually
RUN mkdir -p /root/.ssh \
&& chown -R root:root /root/.ssh
WORKDIR /home/
COPY id_perf* /root/.ssh/
COPY testing-scripts/* /usr/bin/
RUN chmod -R 600 /root/.ssh/
# Test flent before running script
RUN flent --version
# Ideally this should just run the client tests and quit
CMD ["entry.sh"]