123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- FROM ubuntu:22.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 \
- # Needed for mysqlclient
- libmysqlclient-dev \
- libpq-dev \
- pkg-config \
- python3 \
- python3-dev \
- python3-pip \
- siege \
- software-properties-common
- RUN pip3 install \
- colorama==0.3.1 \
- docker==4.0.2 \
- mysqlclient \
- psutil \
- psycopg2-binary \
- pymongo==3.13.0 \
- # urllib3 incompatibility:
- # https://github.com/docker/docker-py/issues/3113#issuecomment-1525500104
- requests==2.28.1
- # Collect resource usage statistics
- ARG DOOL_VERSION=v1.2.0
- WORKDIR /tmp
- RUN curl -LSs "https://github.com/scottchiefbaker/dool/archive/${DOOL_VERSION}.tar.gz" | \
- tar --strip-components=1 -xz && \
- ./install.py
- # Check if the group ID is already created
- ARG GROUP_ID
- RUN if ! getent group "$GROUP_ID"; then \
- addgroup --gid "$GROUP_ID" user; \
- fi
- # Check if the user ID is already created
- ARG USER_ID
- RUN if ! getent passwd "$USER_ID"; then \
- adduser --disabled-password --gecos '' --gid "$GROUP_ID" --uid "$USER_ID" user; \
- fi
- ENV FWROOT=/FrameworkBenchmarks USER_ID="$USER_ID"
- ENV PYTHONPATH="$FWROOT"
- ENTRYPOINT ["/FrameworkBenchmarks/entrypoint.sh"]
|