123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- FROM ubuntu:24.04
- ARG DEBIAN_FRONTEND=noninteractive
- # WARNING: DON'T PUT A SPACE AFTER ANY BACKSLASH OR APT WILL BREAK
- # One -q produces output suitable for logging (mostly hides
- # progress indicators)
- RUN apt-get -yqq update && \
- apt-get -yqq install \
- -o Dpkg::Options::="--force-confdef" \
- -o Dpkg::Options::="--force-confold" \
- cloc \
- curl \
- gcc \
- git-core \
- gosu \
- iproute2 \
- # Needed for mysqlclient
- libmysqlclient-dev \
- libpq-dev \
- pkg-config \
- python3 \
- python3-colorama \
- python3-dev \
- python3-dnspython \
- python3-packaging \
- python3-pip \
- python3-psutil \
- python3-psycopg2 \
- python3-requests \
- siege \
- software-properties-common && \
- # Ubuntu's equivalent packages are too old and/or broken.
- pip3 install \
- --break-system-packages \
- docker==7.0.0 \
- mysqlclient==2.2.4 \
- pymongo==4.7.2
- # Collect resource usage statistics
- ARG DOOL_VERSION=v1.3.1
- WORKDIR /tmp
- RUN curl -LSs "https://github.com/scottchiefbaker/dool/archive/${DOOL_VERSION}.tar.gz" | \
- tar --strip-components=1 -xz && \
- ./install.py
- # create group and user
- ARG GROUP_ID
- ARG USER_ID
- RUN groupadd -g "$GROUP_ID" user || true && \
- useradd -m -u "$USER_ID" -g "$GROUP_ID" -s /bin/bash user || true
- ENV FWROOT=/FrameworkBenchmarks USER_ID="$USER_ID"
- ENV PYTHONPATH="$FWROOT"
- ENTRYPOINT ["/FrameworkBenchmarks/entrypoint.sh"]
|