44
55FROM ubuntu:24.04
66
7- # hadolint ignore=DL3008
8- RUN apt-get update && \
9- apt-get install -y --no-install-recommends \
10- gpg-agent \
11- software-properties-common \
12- && \
13- apt-get clean all && rm -rf /var/cache/apt
14-
157SHELL ["/bin/bash" , "-o" , "pipefail" , "-c" ]
168
179# hadolint ignore=DL3008
18- RUN apt-get update && \
19- DEBIAN_FRONTEND=noninteractive \
20- TZ=Etc/UTC \
21- apt-get install -y --no-install-recommends \
22- # docker dep
23- ca-certificates \
24- gnupg \
25- lsb-release \
26- curl \
27- git \
28- imagemagick \
29- iptables \
30- unzip \
31- tightvncserver \
32- openjdk-17-jdk \
33- openjdk-21-jdk \
34- xfonts-base \
35- openssh-client \
36- jq \
37- && \
38- apt-get clean all && rm -rf /var/cache/apt
10+ RUN apt-get update \
11+ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
12+ ca-certificates \
13+ curl \
14+ git \
15+ imagemagick \
16+ jq \
17+ lsb-release \
18+ openjdk-17-jdk \
19+ openjdk-21-jdk \
20+ openssh-client \
21+ tightvncserver \
22+ unzip \
23+ xfonts-base \
24+ && apt-get clean \
25+ && rm -rf /var/lib/apt/lists/*
3926
4027# Install a fixed firefox version that is known to work with the current selenium version, copied from https://support.mozilla.org/en-US/kb/install-firefox-linux
4128ARG FIREFOX_VERSION=123.0.1
42- RUN install -d - m 0755 /etc/apt/keyrings \
29+ RUN install -m 0755 -d /etc/apt/keyrings \
4330 && curl -fsSL https://packages.mozilla.org/apt/repo-signing-key.gpg -o /etc/apt/keyrings/packages.mozilla.org.asc \
4431 && printf 'deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main\n ' > /etc/apt/sources.list.d/mozilla.list \
4532 && printf 'Package: *\n Pin: origin packages.mozilla.org\n Pin-Priority: 1000\n ' > /etc/apt/preferences.d/mozilla \
4633 && apt-get update \
47- && apt-get install -y --no-install-recommends "firefox=${FIREFOX_VERSION}~build*" \
34+ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
35+ firefox="${FIREFOX_VERSION}*" \
36+ && apt-get clean \
37+ && rm -rf /var/lib/apt/lists/*
38+
39+ # Docker installation according to https://docs.docker.com/engine/install/ubuntu/
40+ ARG DOCKER_BUILDX_VERSION=0.16.1
41+ ARG DOCKER_VERSION=27.1.1
42+ RUN install -m 0755 -d /etc/apt/keyrings \
43+ && curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc \
44+ && printf 'deb [arch=%s signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu %s stable\n ' "$(dpkg --print-architecture)" "$(lsb_release -cs)" > /etc/apt/sources.list.d/docker.list \
45+ && apt-get update \
46+ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
47+ docker-buildx-plugin="${DOCKER_BUILDX_VERSION}*" \
48+ docker-ce="5:${DOCKER_VERSION}*" \
49+ docker-ce-cli="5:${DOCKER_VERSION}*" \
4850 && apt-get clean \
4951 && rm -rf /var/lib/apt/lists/*
5052
5153# Selenium needs a geckodriver in order to work properly
52- ENV GECKODRIVER_VERSION=0.34.0
54+ ARG GECKODRIVER_VERSION=0.34.0
5355RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
5456 if [ "$arch" = "arm64" ] ; \
5557 then \
@@ -61,31 +63,12 @@ RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
6163 fi
6264
6365# Maven in repo is not new enough for ATH
64- ENV MAVEN_VERSION=3.9.8
66+ ARG MAVEN_VERSION=3.9.8
6567RUN curl -ffSLO https://archive.apache.org/dist/maven/maven-3/"${MAVEN_VERSION}" /binaries/apache-maven-"${MAVEN_VERSION}" -bin.tar.gz && \
6668 tar -xvzf apache-maven-"${MAVEN_VERSION}" -bin.tar.gz -C /opt/ && \
6769 mv /opt/apache-maven-* /opt/maven
6870ENV PATH="$PATH:/opt/maven/bin"
6971
70- # Docker installation according to https://docs.docker.com/engine/install/ubuntu/
71- RUN mkdir -p /etc/apt/keyrings && chmod 0755 /etc/apt/keyrings /etc/apt/ /etc
72- RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
73-
74- RUN echo \
75- "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
76- $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
77-
78- # Ensure that version is fixed
79- ARG DOCKER_VERSION=27.1.1
80- ARG DOCKER_BUILDX_VERSION=0.16.1
81- RUN apt-get update --quiet \
82- && apt-get install --yes --no-install-recommends \
83- docker-ce="5:${DOCKER_VERSION}*" \
84- docker-ce-cli="5:${DOCKER_VERSION}*" \
85- docker-buildx-plugin="${DOCKER_BUILDX_VERSION}*" \
86- && apt-get clean \
87- && rm -rf /var/cache/apt
88-
8972ENV SHARED_DOCKER_SERVICE true
9073
9174# Allow injecting uid and git to match directory ownership
0 commit comments